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) { 7; X64-LABEL: test_enqcmd: 8; X64: # %bb.0: # %entry 9; X64-NEXT: enqcmd (%rsi), %rdi 10; X64-NEXT: sete %al 11; X64-NEXT: retq 12; 13; X86-LABEL: test_enqcmd: 14; X86: # %bb.0: # %entry 15; X86-NEXT: movl {{[0-9]+}}(%esp), %eax 16; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx 17; X86-NEXT: enqcmd (%eax), %ecx 18; X86-NEXT: sete %al 19; X86-NEXT: retl 20; 21; X32-LABEL: test_enqcmd: 22; X32: # %bb.0: # %entry 23; X32-NEXT: enqcmd (%esi), %edi 24; X32-NEXT: sete %al 25; X32-NEXT: retq 26entry: 27 28 29 %0 = call i8 @llvm.x86.enqcmd(i8* %dst, i8* %src) 30 ret i8 %0 31} 32 33define i8 @test_enqcmds(i8* %dst, i8* %src) { 34; X64-LABEL: test_enqcmds: 35; X64: # %bb.0: # %entry 36; X64-NEXT: enqcmds (%rsi), %rdi 37; X64-NEXT: sete %al 38; X64-NEXT: retq 39; 40; X86-LABEL: test_enqcmds: 41; X86: # %bb.0: # %entry 42; X86-NEXT: movl {{[0-9]+}}(%esp), %eax 43; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx 44; X86-NEXT: enqcmds (%eax), %ecx 45; X86-NEXT: sete %al 46; X86-NEXT: retl 47; 48; X32-LABEL: test_enqcmds: 49; X32: # %bb.0: # %entry 50; X32-NEXT: enqcmds (%esi), %edi 51; X32-NEXT: sete %al 52; X32-NEXT: retq 53entry: 54 55 56 %0 = call i8 @llvm.x86.enqcmds(i8* %dst, i8* %src) 57 ret i8 %0 58} 59 60declare i8 @llvm.x86.enqcmd(i8*, i8*) 61declare i8 @llvm.x86.enqcmds(i8*, i8*) 62