1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+enqcmd | FileCheck %s --check-prefix=X64 3; RUN: llc < %s -mtriple=i386-unknown-unknown -mattr=+enqcmd | FileCheck %s --check-prefix=X86 4; RUN: llc < %s -mtriple=x86_64-linux-gnux32 -mattr=+enqcmd | FileCheck %s --check-prefix=X32 5 6define i8 @test_enqcmd(i8* %dst, i8* %src) { 7entry: 8; X64-LABEL: test_enqcmd: 9; X64: # %bb.0: # %entry 10; X64-NEXT: enqcmd (%rsi), %rdi 11; X64-NEXT: sete %al 12; X64-NEXT: retq 13 14; X86-LABEL: test_enqcmd: 15; X86: # %bb.0: # %entry 16; X86-NEXT: movl {{[0-9+]}}(%esp), %eax 17; X86-NEXT: movl {{[0-9+]}}(%esp), %ecx 18; X86-NEXT: enqcmd (%eax), %ecx 19; X86-NEXT: sete %al 20; X86-NEXT: retl 21 22; X32-LABEL: test_enqcmd: 23; X32: # %bb.0: # %entry 24; X32: enqcmd (%esi), %edi 25; X32-NEXT: sete %al 26; X32-NEXT: retq 27 %0 = call i8 @llvm.x86.enqcmd(i8* %dst, i8* %src) 28 ret i8 %0 29} 30 31define i8 @test_enqcmds(i8* %dst, i8* %src) { 32entry: 33; X64-LABEL: test_enqcmds: 34; X64: # %bb.0: # %entry 35; X64-NEXT: enqcmds (%rsi), %rdi 36; X64-NEXT: sete %al 37; X64-NEXT: retq 38 39; X86-LABEL: test_enqcmds: 40; X86: # %bb.0: # %entry 41; X86-NEXT: movl {{[0-9+]}}(%esp), %eax 42; X86-NEXT: movl {{[0-9+]}}(%esp), %ecx 43; X86-NEXT: enqcmds (%eax), %ecx 44; X86-NEXT: sete %al 45; X86-NEXT: retl 46 47; X32-LABEL: test_enqcmds: 48; X32: # %bb.0: # %entry 49; X32: enqcmds (%esi), %edi 50; X32-NEXT: sete %al 51; X32-NEXT: retq 52 %0 = call i8 @llvm.x86.enqcmds(i8* %dst, i8* %src) 53 ret i8 %0 54} 55 56declare i8 @llvm.x86.enqcmd(i8*, i8*) 57declare i8 @llvm.x86.enqcmds(i8*, i8*) 58