xref: /llvm-project/llvm/test/CodeGen/X86/raoint-intrinsics-64.ll (revision 02d56801ee8e4fcce303a47e5fac1967f5660d38)
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc < %s -verify-machineinstrs -mtriple=x86_64-unknown-unknown --show-mc-encoding -mattr=+raoint | FileCheck %s --check-prefixes=X64
3; RUN: llc < %s -verify-machineinstrs -mtriple=x86_64-unknown-unknown --show-mc-encoding -mattr=+raoint,+egpr | FileCheck %s --check-prefixes=EGPR
4
5define void @test_int_x86_aadd64(ptr %A, i64 %B) {
6; X64-LABEL: test_int_x86_aadd64:
7; X64:       # %bb.0:
8; X64-NEXT:    aaddq %rsi, (%rdi) # encoding: [0x48,0x0f,0x38,0xfc,0x37]
9; X64-NEXT:    retq # encoding: [0xc3]
10;
11; EGPR-LABEL: test_int_x86_aadd64:
12; EGPR:       # %bb.0:
13; EGPR-NEXT:    aaddq %rsi, (%rdi) # EVEX TO LEGACY Compression encoding: [0x48,0x0f,0x38,0xfc,0x37]
14; EGPR-NEXT:    retq # encoding: [0xc3]
15  call void @llvm.x86.aadd64(ptr %A, i64 %B)
16  ret  void
17}
18declare void @llvm.x86.aadd64(ptr %A, i64 %B)
19
20define void @test_int_x86_aand64(ptr %A, i64 %B) {
21; X64-LABEL: test_int_x86_aand64:
22; X64:       # %bb.0:
23; X64-NEXT:    aandq %rsi, (%rdi) # encoding: [0x66,0x48,0x0f,0x38,0xfc,0x37]
24; X64-NEXT:    retq # encoding: [0xc3]
25;
26; EGPR-LABEL: test_int_x86_aand64:
27; EGPR:       # %bb.0:
28; EGPR-NEXT:    aandq %rsi, (%rdi) # EVEX TO LEGACY Compression encoding: [0x66,0x48,0x0f,0x38,0xfc,0x37]
29; EGPR-NEXT:    retq # encoding: [0xc3]
30  call void @llvm.x86.aand64(ptr %A, i64 %B)
31  ret  void
32}
33declare void @llvm.x86.aand64(ptr %A, i64 %B)
34
35define void @test_int_x86_aor64(ptr %A, i64 %B) {
36; X64-LABEL: test_int_x86_aor64:
37; X64:       # %bb.0:
38; X64-NEXT:    aorq %rsi, (%rdi) # encoding: [0xf2,0x48,0x0f,0x38,0xfc,0x37]
39; X64-NEXT:    retq # encoding: [0xc3]
40;
41; EGPR-LABEL: test_int_x86_aor64:
42; EGPR:       # %bb.0:
43; EGPR-NEXT:    aorq %rsi, (%rdi) # EVEX TO LEGACY Compression encoding: [0xf2,0x48,0x0f,0x38,0xfc,0x37]
44; EGPR-NEXT:    retq # encoding: [0xc3]
45  call void @llvm.x86.aor64(ptr %A, i64 %B)
46  ret  void
47}
48declare void @llvm.x86.aor64(ptr %A, i64 %B)
49
50define void @test_int_x86_axor64(ptr %A, i64 %B) {
51; X64-LABEL: test_int_x86_axor64:
52; X64:       # %bb.0:
53; X64-NEXT:    axorq %rsi, (%rdi) # encoding: [0xf3,0x48,0x0f,0x38,0xfc,0x37]
54; X64-NEXT:    retq # encoding: [0xc3]
55;
56; EGPR-LABEL: test_int_x86_axor64:
57; EGPR:       # %bb.0:
58; EGPR-NEXT:    axorq %rsi, (%rdi) # EVEX TO LEGACY Compression encoding: [0xf3,0x48,0x0f,0x38,0xfc,0x37]
59; EGPR-NEXT:    retq # encoding: [0xc3]
60  call void @llvm.x86.axor64(ptr %A, i64 %B)
61  ret  void
62}
63declare void @llvm.x86.axor64(ptr %A, i64 %B)
64