diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/WidenArith.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/WidenArith.ll | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/llvm/test/CodeGen/X86/WidenArith.ll b/llvm/test/CodeGen/X86/WidenArith.ll index cc5fcba6670..7470416ba7e 100644 --- a/llvm/test/CodeGen/X86/WidenArith.ll +++ b/llvm/test/CodeGen/X86/WidenArith.ll @@ -1,17 +1,29 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: llc < %s -mtriple=x86_64-apple-darwin -mattr=+avx | FileCheck %s +; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=X86 +; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=X64 define <8 x i32> @test(<8 x float> %a, <8 x float> %b) { -; CHECK-LABEL: test: -; CHECK: ## BB#0: -; CHECK-NEXT: vaddps %ymm1, %ymm0, %ymm2 -; CHECK-NEXT: vmulps %ymm0, %ymm1, %ymm1 -; CHECK-NEXT: vsubps %ymm2, %ymm1, %ymm3 -; CHECK-NEXT: vcmpltps %ymm1, %ymm0, %ymm0 -; CHECK-NEXT: vcmpltps %ymm3, %ymm2, %ymm1 -; CHECK-NEXT: vandps %ymm1, %ymm0, %ymm0 -; CHECK-NEXT: vandps {{.*}}(%rip), %ymm0, %ymm0 -; CHECK-NEXT: retq +; X86-LABEL: test: +; X86: # BB#0: +; X86-NEXT: vaddps %ymm1, %ymm0, %ymm2 +; X86-NEXT: vmulps %ymm0, %ymm1, %ymm1 +; X86-NEXT: vsubps %ymm2, %ymm1, %ymm3 +; X86-NEXT: vcmpltps %ymm1, %ymm0, %ymm0 +; X86-NEXT: vcmpltps %ymm3, %ymm2, %ymm1 +; X86-NEXT: vandps %ymm1, %ymm0, %ymm0 +; X86-NEXT: vandps {{\.LCPI.*}}, %ymm0, %ymm0 +; X86-NEXT: retl +; +; X64-LABEL: test: +; X64: # BB#0: +; X64-NEXT: vaddps %ymm1, %ymm0, %ymm2 +; X64-NEXT: vmulps %ymm0, %ymm1, %ymm1 +; X64-NEXT: vsubps %ymm2, %ymm1, %ymm3 +; X64-NEXT: vcmpltps %ymm1, %ymm0, %ymm0 +; X64-NEXT: vcmpltps %ymm3, %ymm2, %ymm1 +; X64-NEXT: vandps %ymm1, %ymm0, %ymm0 +; X64-NEXT: vandps {{.*}}(%rip), %ymm0, %ymm0 +; X64-NEXT: retq %c1 = fadd <8 x float> %a, %b %b1 = fmul <8 x float> %b, %a %d = fsub <8 x float> %b1, %c1 |