diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2024-01-05 13:06:36 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2024-01-05 13:38:44 +0000 |
commit | ae81400a0fad6040483f1af5947388aecca5c3f7 (patch) | |
tree | e79f3ef41fbf3a2a45e27aa627676161693442bc | |
parent | b51130a3311d5553c92408e6e52ea74269fa5a0b (diff) |
[X86] keylocker-intrinsics.ll - replace X32 checks with X86. NFC.
We try to use X32 for gnux32 triples only.
-rw-r--r-- | llvm/test/CodeGen/X86/keylocker-intrinsics.ll | 480 |
1 files changed, 240 insertions, 240 deletions
diff --git a/llvm/test/CodeGen/X86/keylocker-intrinsics.ll b/llvm/test/CodeGen/X86/keylocker-intrinsics.ll index 3892d84e57db..f01411c64acb 100644 --- a/llvm/test/CodeGen/X86/keylocker-intrinsics.ll +++ b/llvm/test/CodeGen/X86/keylocker-intrinsics.ll @@ -1,8 +1,8 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc < %s -verify-machineinstrs -mtriple=x86_64-unkown-unknown -mattr=+kl,widekl | FileCheck %s --check-prefix=X64 -; RUN: llc < %s -verify-machineinstrs -mtriple=i386-unkown-unknown -mattr=+kl,widekl -mattr=+avx2 | FileCheck %s --check-prefix=X32 +; RUN: llc < %s -verify-machineinstrs -mtriple=i386-unkown-unknown -mattr=+kl,widekl -mattr=+avx2 | FileCheck %s --check-prefix=X86 ; RUN: llc < %s -verify-machineinstrs -mtriple=x86_64-unkown-unknown -mattr=+widekl | FileCheck %s --check-prefix=X64 -; RUN: llc < %s -verify-machineinstrs -mtriple=i386-unkown-unknown -mattr=+widekl -mattr=+avx2 | FileCheck %s --check-prefix=X32 +; RUN: llc < %s -verify-machineinstrs -mtriple=i386-unkown-unknown -mattr=+widekl -mattr=+avx2 | FileCheck %s --check-prefix=X86 declare void @llvm.x86.loadiwkey(<2 x i64>, <2 x i64>, <2 x i64>, i32) declare { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.encodekey128(i32, <2 x i64>) @@ -23,11 +23,11 @@ define void @test_loadiwkey(i32 %ctl, <2 x i64> %intkey, <2 x i64> %enkey_lo, <2 ; X64-NEXT: loadiwkey %xmm2, %xmm1 ; X64-NEXT: retq ; -; X32-LABEL: test_loadiwkey: -; X32: # %bb.0: # %entry -; X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; X32-NEXT: loadiwkey %xmm2, %xmm1 -; X32-NEXT: retl +; X86-LABEL: test_loadiwkey: +; X86: # %bb.0: # %entry +; X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; X86-NEXT: loadiwkey %xmm2, %xmm1 +; X86-NEXT: retl entry: tail call void @llvm.x86.loadiwkey(<2 x i64> %intkey, <2 x i64> %enkey_lo, <2 x i64> %enkey_hi, i32 %ctl) ret void @@ -42,19 +42,19 @@ define i32 @test_encodekey128_u32(i32 %htype, <2 x i64> %key, ptr nocapture %h0, ; X64-NEXT: movaps %xmm2, (%rcx) ; X64-NEXT: retq ; -; X32-LABEL: test_encodekey128_u32: -; X32: # %bb.0: # %entry -; X32-NEXT: pushl %esi -; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx -; X32-NEXT: movl {{[0-9]+}}(%esp), %edx -; X32-NEXT: movl {{[0-9]+}}(%esp), %esi -; X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; X32-NEXT: encodekey128 %eax, %eax -; X32-NEXT: vmovaps %xmm0, (%esi) -; X32-NEXT: vmovaps %xmm1, (%edx) -; X32-NEXT: vmovaps %xmm2, (%ecx) -; X32-NEXT: popl %esi -; X32-NEXT: retl +; X86-LABEL: test_encodekey128_u32: +; X86: # %bb.0: # %entry +; X86-NEXT: pushl %esi +; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx +; X86-NEXT: movl {{[0-9]+}}(%esp), %edx +; X86-NEXT: movl {{[0-9]+}}(%esp), %esi +; X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; X86-NEXT: encodekey128 %eax, %eax +; X86-NEXT: vmovaps %xmm0, (%esi) +; X86-NEXT: vmovaps %xmm1, (%edx) +; X86-NEXT: vmovaps %xmm2, (%ecx) +; X86-NEXT: popl %esi +; X86-NEXT: retl entry: %0 = tail call { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.encodekey128(i32 %htype, <2 x i64> %key) %1 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 1 @@ -77,23 +77,23 @@ define i32 @test_encodekey256_u32(i32 %htype, <2 x i64> %key_lo, <2 x i64> %key_ ; X64-NEXT: movaps %xmm3, (%r8) ; X64-NEXT: retq ; -; X32-LABEL: test_encodekey256_u32: -; X32: # %bb.0: # %entry -; X32-NEXT: pushl %edi -; X32-NEXT: pushl %esi -; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx -; X32-NEXT: movl {{[0-9]+}}(%esp), %edx -; X32-NEXT: movl {{[0-9]+}}(%esp), %esi -; X32-NEXT: movl {{[0-9]+}}(%esp), %edi -; X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; X32-NEXT: encodekey256 %eax, %eax -; X32-NEXT: vmovaps %xmm0, (%edi) -; X32-NEXT: vmovaps %xmm1, (%esi) -; X32-NEXT: vmovaps %xmm2, (%edx) -; X32-NEXT: vmovaps %xmm3, (%ecx) -; X32-NEXT: popl %esi -; X32-NEXT: popl %edi -; X32-NEXT: retl +; X86-LABEL: test_encodekey256_u32: +; X86: # %bb.0: # %entry +; X86-NEXT: pushl %edi +; X86-NEXT: pushl %esi +; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx +; X86-NEXT: movl {{[0-9]+}}(%esp), %edx +; X86-NEXT: movl {{[0-9]+}}(%esp), %esi +; X86-NEXT: movl {{[0-9]+}}(%esp), %edi +; X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; X86-NEXT: encodekey256 %eax, %eax +; X86-NEXT: vmovaps %xmm0, (%edi) +; X86-NEXT: vmovaps %xmm1, (%esi) +; X86-NEXT: vmovaps %xmm2, (%edx) +; X86-NEXT: vmovaps %xmm3, (%ecx) +; X86-NEXT: popl %esi +; X86-NEXT: popl %edi +; X86-NEXT: retl entry: %0 = tail call { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.encodekey256(i32 %htype, <2 x i64> %key_lo, <2 x i64> %key_hi) %1 = extractvalue { i32, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 1 @@ -116,14 +116,14 @@ define i8 @test_mm_aesenc128kl_u8(<2 x i64> %data, ptr %h, ptr %out) { ; X64-NEXT: movaps %xmm0, (%rsi) ; X64-NEXT: retq ; -; X32-LABEL: test_mm_aesenc128kl_u8: -; X32: # %bb.0: # %entry -; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx -; X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; X32-NEXT: aesenc128kl (%eax), %xmm0 -; X32-NEXT: sete %al -; X32-NEXT: vmovaps %xmm0, (%ecx) -; X32-NEXT: retl +; X86-LABEL: test_mm_aesenc128kl_u8: +; X86: # %bb.0: # %entry +; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx +; X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; X86-NEXT: aesenc128kl (%eax), %xmm0 +; X86-NEXT: sete %al +; X86-NEXT: vmovaps %xmm0, (%ecx) +; X86-NEXT: retl entry: %0 = tail call { i8, <2 x i64> } @llvm.x86.aesenc128kl(<2 x i64> %data, ptr %h) %1 = extractvalue { i8, <2 x i64> } %0, 1 @@ -140,14 +140,14 @@ define i8 @test_mm_aesdec128kl_u8(<2 x i64> %data, ptr %h, ptr %out) { ; X64-NEXT: movaps %xmm0, (%rsi) ; X64-NEXT: retq ; -; X32-LABEL: test_mm_aesdec128kl_u8: -; X32: # %bb.0: # %entry -; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx -; X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; X32-NEXT: aesdec128kl (%eax), %xmm0 -; X32-NEXT: sete %al -; X32-NEXT: vmovaps %xmm0, (%ecx) -; X32-NEXT: retl +; X86-LABEL: test_mm_aesdec128kl_u8: +; X86: # %bb.0: # %entry +; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx +; X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; X86-NEXT: aesdec128kl (%eax), %xmm0 +; X86-NEXT: sete %al +; X86-NEXT: vmovaps %xmm0, (%ecx) +; X86-NEXT: retl entry: %0 = tail call { i8, <2 x i64> } @llvm.x86.aesdec128kl(<2 x i64> %data, ptr %h) %1 = extractvalue { i8, <2 x i64> } %0, 1 @@ -164,14 +164,14 @@ define i8 @test_mm_aesenc256kl_u8(<2 x i64> %data, ptr %h, ptr %out) { ; X64-NEXT: movaps %xmm0, (%rsi) ; X64-NEXT: retq ; -; X32-LABEL: test_mm_aesenc256kl_u8: -; X32: # %bb.0: # %entry -; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx -; X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; X32-NEXT: aesenc256kl (%eax), %xmm0 -; X32-NEXT: sete %al -; X32-NEXT: vmovaps %xmm0, (%ecx) -; X32-NEXT: retl +; X86-LABEL: test_mm_aesenc256kl_u8: +; X86: # %bb.0: # %entry +; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx +; X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; X86-NEXT: aesenc256kl (%eax), %xmm0 +; X86-NEXT: sete %al +; X86-NEXT: vmovaps %xmm0, (%ecx) +; X86-NEXT: retl entry: %0 = tail call { i8, <2 x i64> } @llvm.x86.aesenc256kl(<2 x i64> %data, ptr %h) %1 = extractvalue { i8, <2 x i64> } %0, 1 @@ -188,14 +188,14 @@ define i8 @test_mm_aesdec256kl_u8(<2 x i64> %data, ptr %h, ptr %out) { ; X64-NEXT: movaps %xmm0, (%rsi) ; X64-NEXT: retq ; -; X32-LABEL: test_mm_aesdec256kl_u8: -; X32: # %bb.0: # %entry -; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx -; X32-NEXT: movl {{[0-9]+}}(%esp), %eax -; X32-NEXT: aesdec256kl (%eax), %xmm0 -; X32-NEXT: sete %al -; X32-NEXT: vmovaps %xmm0, (%ecx) -; X32-NEXT: retl +; X86-LABEL: test_mm_aesdec256kl_u8: +; X86: # %bb.0: # %entry +; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx +; X86-NEXT: movl {{[0-9]+}}(%esp), %eax +; X86-NEXT: aesdec256kl (%eax), %xmm0 +; X86-NEXT: sete %al +; X86-NEXT: vmovaps %xmm0, (%ecx) +; X86-NEXT: retl entry: %0 = tail call { i8, <2 x i64> } @llvm.x86.aesdec256kl(<2 x i64> %data, ptr %h) %1 = extractvalue { i8, <2 x i64> } %0, 1 @@ -224,39 +224,39 @@ define i8 @test_mm_aesencwide128kl_u8(ptr %p, <2 x i64> %v0, <2 x i64> %v1, <2 x ; X64-NEXT: popq %rbx ; X64-NEXT: retq ; -; X32-LABEL: test_mm_aesencwide128kl_u8: -; X32: # %bb.0: # %entry -; X32-NEXT: pushl %ebp -; X32-NEXT: movl %esp, %ebp -; X32-NEXT: andl $-16, %esp -; X32-NEXT: subl $16, %esp -; X32-NEXT: vmovaps 24(%ebp), %xmm3 -; X32-NEXT: vmovaps 40(%ebp), %xmm4 -; X32-NEXT: vmovaps 56(%ebp), %xmm5 -; X32-NEXT: vmovaps 72(%ebp), %xmm6 -; X32-NEXT: vmovaps 88(%ebp), %xmm7 -; X32-NEXT: movl 8(%ebp), %eax -; X32-NEXT: aesencwide128kl (%eax) -; X32-NEXT: movl 104(%ebp), %eax -; X32-NEXT: vmovaps %xmm0, (%eax) -; X32-NEXT: movl 108(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 112(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 116(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 120(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 124(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 128(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 132(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: sete %al -; X32-NEXT: movl %ebp, %esp -; X32-NEXT: popl %ebp -; X32-NEXT: retl +; X86-LABEL: test_mm_aesencwide128kl_u8: +; X86: # %bb.0: # %entry +; X86-NEXT: pushl %ebp +; X86-NEXT: movl %esp, %ebp +; X86-NEXT: andl $-16, %esp +; X86-NEXT: subl $16, %esp +; X86-NEXT: vmovaps 24(%ebp), %xmm3 +; X86-NEXT: vmovaps 40(%ebp), %xmm4 +; X86-NEXT: vmovaps 56(%ebp), %xmm5 +; X86-NEXT: vmovaps 72(%ebp), %xmm6 +; X86-NEXT: vmovaps 88(%ebp), %xmm7 +; X86-NEXT: movl 8(%ebp), %eax +; X86-NEXT: aesencwide128kl (%eax) +; X86-NEXT: movl 104(%ebp), %eax +; X86-NEXT: vmovaps %xmm0, (%eax) +; X86-NEXT: movl 108(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 112(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 116(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 120(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 124(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 128(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 132(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: sete %al +; X86-NEXT: movl %ebp, %esp +; X86-NEXT: popl %ebp +; X86-NEXT: retl entry: %0 = call { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.aesencwide128kl(ptr %p, <2 x i64> %v0, <2 x i64> %v1, <2 x i64> %v2, <2 x i64> %v3, <2 x i64> %v4, <2 x i64> %v5, <2 x i64> %v6, <2 x i64> %v7) %1 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 1 @@ -299,39 +299,39 @@ define i8 @test_mm_aesdecwide128kl_u8(ptr %p, <2 x i64> %v0, <2 x i64> %v1, <2 x ; X64-NEXT: popq %rbx ; X64-NEXT: retq ; -; X32-LABEL: test_mm_aesdecwide128kl_u8: -; X32: # %bb.0: # %entry -; X32-NEXT: pushl %ebp -; X32-NEXT: movl %esp, %ebp -; X32-NEXT: andl $-16, %esp -; X32-NEXT: subl $16, %esp -; X32-NEXT: vmovaps 24(%ebp), %xmm3 -; X32-NEXT: vmovaps 40(%ebp), %xmm4 -; X32-NEXT: vmovaps 56(%ebp), %xmm5 -; X32-NEXT: vmovaps 72(%ebp), %xmm6 -; X32-NEXT: vmovaps 88(%ebp), %xmm7 -; X32-NEXT: movl 8(%ebp), %eax -; X32-NEXT: aesdecwide128kl (%eax) -; X32-NEXT: movl 104(%ebp), %eax -; X32-NEXT: vmovaps %xmm0, (%eax) -; X32-NEXT: movl 108(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 112(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 116(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 120(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 124(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 128(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 132(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: sete %al -; X32-NEXT: movl %ebp, %esp -; X32-NEXT: popl %ebp -; X32-NEXT: retl +; X86-LABEL: test_mm_aesdecwide128kl_u8: +; X86: # %bb.0: # %entry +; X86-NEXT: pushl %ebp +; X86-NEXT: movl %esp, %ebp +; X86-NEXT: andl $-16, %esp +; X86-NEXT: subl $16, %esp +; X86-NEXT: vmovaps 24(%ebp), %xmm3 +; X86-NEXT: vmovaps 40(%ebp), %xmm4 +; X86-NEXT: vmovaps 56(%ebp), %xmm5 +; X86-NEXT: vmovaps 72(%ebp), %xmm6 +; X86-NEXT: vmovaps 88(%ebp), %xmm7 +; X86-NEXT: movl 8(%ebp), %eax +; X86-NEXT: aesdecwide128kl (%eax) +; X86-NEXT: movl 104(%ebp), %eax +; X86-NEXT: vmovaps %xmm0, (%eax) +; X86-NEXT: movl 108(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 112(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 116(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 120(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 124(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 128(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 132(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: sete %al +; X86-NEXT: movl %ebp, %esp +; X86-NEXT: popl %ebp +; X86-NEXT: retl entry: %0 = call { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.aesdecwide128kl(ptr %p, <2 x i64> %v0, <2 x i64> %v1, <2 x i64> %v2, <2 x i64> %v3, <2 x i64> %v4, <2 x i64> %v5, <2 x i64> %v6, <2 x i64> %v7) %1 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 1 @@ -374,39 +374,39 @@ define i8 @test_mm_aesencwide256kl_u8(ptr %p, <2 x i64> %v0, <2 x i64> %v1, <2 x ; X64-NEXT: popq %rbx ; X64-NEXT: retq ; -; X32-LABEL: test_mm_aesencwide256kl_u8: -; X32: # %bb.0: # %entry -; X32-NEXT: pushl %ebp -; X32-NEXT: movl %esp, %ebp -; X32-NEXT: andl $-16, %esp -; X32-NEXT: subl $16, %esp -; X32-NEXT: vmovaps 24(%ebp), %xmm3 -; X32-NEXT: vmovaps 40(%ebp), %xmm4 -; X32-NEXT: vmovaps 56(%ebp), %xmm5 -; X32-NEXT: vmovaps 72(%ebp), %xmm6 -; X32-NEXT: vmovaps 88(%ebp), %xmm7 -; X32-NEXT: movl 8(%ebp), %eax -; X32-NEXT: aesencwide256kl (%eax) -; X32-NEXT: movl 104(%ebp), %eax -; X32-NEXT: vmovaps %xmm0, (%eax) -; X32-NEXT: movl 108(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 112(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 116(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 120(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 124(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 128(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 132(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: sete %al -; X32-NEXT: movl %ebp, %esp -; X32-NEXT: popl %ebp -; X32-NEXT: retl +; X86-LABEL: test_mm_aesencwide256kl_u8: +; X86: # %bb.0: # %entry +; X86-NEXT: pushl %ebp +; X86-NEXT: movl %esp, %ebp +; X86-NEXT: andl $-16, %esp +; X86-NEXT: subl $16, %esp +; X86-NEXT: vmovaps 24(%ebp), %xmm3 +; X86-NEXT: vmovaps 40(%ebp), %xmm4 +; X86-NEXT: vmovaps 56(%ebp), %xmm5 +; X86-NEXT: vmovaps 72(%ebp), %xmm6 +; X86-NEXT: vmovaps 88(%ebp), %xmm7 +; X86-NEXT: movl 8(%ebp), %eax +; X86-NEXT: aesencwide256kl (%eax) +; X86-NEXT: movl 104(%ebp), %eax +; X86-NEXT: vmovaps %xmm0, (%eax) +; X86-NEXT: movl 108(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 112(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 116(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 120(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 124(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 128(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 132(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: sete %al +; X86-NEXT: movl %ebp, %esp +; X86-NEXT: popl %ebp +; X86-NEXT: retl entry: %0 = call { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.aesencwide256kl(ptr %p, <2 x i64> %v0, <2 x i64> %v1, <2 x i64> %v2, <2 x i64> %v3, <2 x i64> %v4, <2 x i64> %v5, <2 x i64> %v6, <2 x i64> %v7) %1 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 1 @@ -449,39 +449,39 @@ define i8 @test_mm_aesdecwide256kl_u8(ptr %p, <2 x i64> %v0, <2 x i64> %v1, <2 x ; X64-NEXT: popq %rbx ; X64-NEXT: retq ; -; X32-LABEL: test_mm_aesdecwide256kl_u8: -; X32: # %bb.0: # %entry -; X32-NEXT: pushl %ebp -; X32-NEXT: movl %esp, %ebp -; X32-NEXT: andl $-16, %esp -; X32-NEXT: subl $16, %esp -; X32-NEXT: vmovaps 24(%ebp), %xmm3 -; X32-NEXT: vmovaps 40(%ebp), %xmm4 -; X32-NEXT: vmovaps 56(%ebp), %xmm5 -; X32-NEXT: vmovaps 72(%ebp), %xmm6 -; X32-NEXT: vmovaps 88(%ebp), %xmm7 -; X32-NEXT: movl 8(%ebp), %eax -; X32-NEXT: aesdecwide256kl (%eax) -; X32-NEXT: movl 104(%ebp), %eax -; X32-NEXT: vmovaps %xmm0, (%eax) -; X32-NEXT: movl 108(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 112(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 116(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 120(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 124(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 128(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 132(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: sete %al -; X32-NEXT: movl %ebp, %esp -; X32-NEXT: popl %ebp -; X32-NEXT: retl +; X86-LABEL: test_mm_aesdecwide256kl_u8: +; X86: # %bb.0: # %entry +; X86-NEXT: pushl %ebp +; X86-NEXT: movl %esp, %ebp +; X86-NEXT: andl $-16, %esp +; X86-NEXT: subl $16, %esp +; X86-NEXT: vmovaps 24(%ebp), %xmm3 +; X86-NEXT: vmovaps 40(%ebp), %xmm4 +; X86-NEXT: vmovaps 56(%ebp), %xmm5 +; X86-NEXT: vmovaps 72(%ebp), %xmm6 +; X86-NEXT: vmovaps 88(%ebp), %xmm7 +; X86-NEXT: movl 8(%ebp), %eax +; X86-NEXT: aesdecwide256kl (%eax) +; X86-NEXT: movl 104(%ebp), %eax +; X86-NEXT: vmovaps %xmm0, (%eax) +; X86-NEXT: movl 108(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 112(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 116(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 120(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 124(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 128(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 132(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: sete %al +; X86-NEXT: movl %ebp, %esp +; X86-NEXT: popl %ebp +; X86-NEXT: retl entry: %0 = call { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.aesdecwide256kl(ptr %p, <2 x i64> %v0, <2 x i64> %v1, <2 x i64> %v2, <2 x i64> %v3, <2 x i64> %v4, <2 x i64> %v5, <2 x i64> %v6, <2 x i64> %v7) %1 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 1 @@ -516,13 +516,13 @@ define i8 @test_mm_aesenc256kl_u8_global(<2 x i64> %data, ptr %out) { ; X64-NEXT: movaps %xmm0, (%rdi) ; X64-NEXT: retq ; -; X32-LABEL: test_mm_aesenc256kl_u8_global: -; X32: # %bb.0: # %entry -; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx -; X32-NEXT: aesenc256kl foo, %xmm0 -; X32-NEXT: sete %al -; X32-NEXT: vmovaps %xmm0, (%ecx) -; X32-NEXT: retl +; X86-LABEL: test_mm_aesenc256kl_u8_global: +; X86: # %bb.0: # %entry +; X86-NEXT: movl {{[0-9]+}}(%esp), %ecx +; X86-NEXT: aesenc256kl foo, %xmm0 +; X86-NEXT: sete %al +; X86-NEXT: vmovaps %xmm0, (%ecx) +; X86-NEXT: retl entry: %0 = tail call { i8, <2 x i64> } @llvm.x86.aesenc256kl(<2 x i64> %data, ptr @foo) %1 = extractvalue { i8, <2 x i64> } %0, 1 @@ -548,38 +548,38 @@ define i8 @test_mm_aesdecwide256kl_u8_global(<2 x i64> %v0, <2 x i64> %v1, <2 x ; X64-NEXT: movaps %xmm1, (%r10) ; X64-NEXT: retq ; -; X32-LABEL: test_mm_aesdecwide256kl_u8_global: -; X32: # %bb.0: # %entry -; X32-NEXT: pushl %ebp -; X32-NEXT: movl %esp, %ebp -; X32-NEXT: andl $-16, %esp -; X32-NEXT: subl $16, %esp -; X32-NEXT: movl 88(%ebp), %eax -; X32-NEXT: vmovaps 8(%ebp), %xmm3 -; X32-NEXT: vmovaps 24(%ebp), %xmm4 -; X32-NEXT: vmovaps 40(%ebp), %xmm5 -; X32-NEXT: vmovaps 56(%ebp), %xmm6 -; X32-NEXT: vmovaps 72(%ebp), %xmm7 -; X32-NEXT: aesdecwide256kl foo -; X32-NEXT: vmovaps %xmm0, (%eax) -; X32-NEXT: movl 92(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 96(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 100(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 104(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 108(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 112(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: movl 116(%ebp), %eax -; X32-NEXT: vmovaps %xmm1, (%eax) -; X32-NEXT: sete %al -; X32-NEXT: movl %ebp, %esp -; X32-NEXT: popl %ebp -; X32-NEXT: retl +; X86-LABEL: test_mm_aesdecwide256kl_u8_global: +; X86: # %bb.0: # %entry +; X86-NEXT: pushl %ebp +; X86-NEXT: movl %esp, %ebp +; X86-NEXT: andl $-16, %esp +; X86-NEXT: subl $16, %esp +; X86-NEXT: movl 88(%ebp), %eax +; X86-NEXT: vmovaps 8(%ebp), %xmm3 +; X86-NEXT: vmovaps 24(%ebp), %xmm4 +; X86-NEXT: vmovaps 40(%ebp), %xmm5 +; X86-NEXT: vmovaps 56(%ebp), %xmm6 +; X86-NEXT: vmovaps 72(%ebp), %xmm7 +; X86-NEXT: aesdecwide256kl foo +; X86-NEXT: vmovaps %xmm0, (%eax) +; X86-NEXT: movl 92(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 96(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 100(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 104(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 108(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 112(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: movl 116(%ebp), %eax +; X86-NEXT: vmovaps %xmm1, (%eax) +; X86-NEXT: sete %al +; X86-NEXT: movl %ebp, %esp +; X86-NEXT: popl %ebp +; X86-NEXT: retl entry: %0 = call { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } @llvm.x86.aesdecwide256kl(ptr @foo, <2 x i64> %v0, <2 x i64> %v1, <2 x i64> %v2, <2 x i64> %v3, <2 x i64> %v4, <2 x i64> %v5, <2 x i64> %v6, <2 x i64> %v7) %1 = extractvalue { i8, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64>, <2 x i64> } %0, 1 |