Index: tests_lit/llvm2ice_tests/vector-arith.ll |
diff --git a/tests_lit/llvm2ice_tests/vector-arith.ll b/tests_lit/llvm2ice_tests/vector-arith.ll |
index c7ef44f6c90f81c8892af202aa156c9ac6656d9c..86e338d5c9f040ee6a874c914543a00f7ba61d14 100644 |
--- a/tests_lit/llvm2ice_tests/vector-arith.ll |
+++ b/tests_lit/llvm2ice_tests/vector-arith.ll |
@@ -1,25 +1,19 @@ |
; This test checks support for vector arithmetic. |
-; RUN: %p2i -i %s -a -O2 --verbose none \ |
-; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ |
-; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s |
-; RUN: %p2i -i %s -a -Om1 --verbose none \ |
-; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ |
-; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - | FileCheck %s |
-; RUN: %p2i -i %s -a -O2 -mattr=sse4.1 --verbose none \ |
-; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ |
-; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - \ |
-; RUN: | FileCheck --check-prefix=SSE41 %s |
-; RUN: %p2i -i %s -a -Om1 -mattr=sse4.1 --verbose none \ |
-; RUN: | llvm-mc -triple=i686-none-nacl -filetype=obj \ |
-; RUN: | llvm-objdump -d --symbolize -x86-asm-syntax=intel - \ |
+; RUN: %p2i -i %s --assemble --disassemble -a -O2 --verbose none \ |
+; RUN: | FileCheck %s |
+; RUN: %p2i -i %s --assemble --disassemble -a -Om1 --verbose none \ |
+; RUN: | FileCheck %s |
+; RUN: %p2i -i %s --assemble --disassemble -a -O2 -mattr=sse4.1 --verbose none \ |
; RUN: | FileCheck --check-prefix=SSE41 %s |
+; RUN: %p2i -i %s --assemble --disassemble -a -Om1 -mattr=sse4.1 \ |
+; RUN: --verbose none | FileCheck --check-prefix=SSE41 %s |
define <4 x float> @test_fadd(<4 x float> %arg0, <4 x float> %arg1) { |
entry: |
%res = fadd <4 x float> %arg0, %arg1 |
ret <4 x float> %res |
-; CHECK-LABEL: test_fadd: |
+; CHECK-LABEL: test_fadd |
; CHECK: addps |
} |
@@ -27,7 +21,7 @@ define <4 x float> @test_fsub(<4 x float> %arg0, <4 x float> %arg1) { |
entry: |
%res = fsub <4 x float> %arg0, %arg1 |
ret <4 x float> %res |
-; CHECK-LABEL: test_fsub: |
+; CHECK-LABEL: test_fsub |
; CHECK: subps |
} |
@@ -35,7 +29,7 @@ define <4 x float> @test_fmul(<4 x float> %arg0, <4 x float> %arg1) { |
entry: |
%res = fmul <4 x float> %arg0, %arg1 |
ret <4 x float> %res |
-; CHECK-LABEL: test_fmul: |
+; CHECK-LABEL: test_fmul |
; CHECK: mulps |
} |
@@ -43,7 +37,7 @@ define <4 x float> @test_fdiv(<4 x float> %arg0, <4 x float> %arg1) { |
entry: |
%res = fdiv <4 x float> %arg0, %arg1 |
ret <4 x float> %res |
-; CHECK-LABEL: test_fdiv: |
+; CHECK-LABEL: test_fdiv |
; CHECK: divps |
} |
@@ -51,7 +45,7 @@ define <4 x float> @test_frem(<4 x float> %arg0, <4 x float> %arg1) { |
entry: |
%res = frem <4 x float> %arg0, %arg1 |
ret <4 x float> %res |
-; CHECK-LABEL: test_frem: |
+; CHECK-LABEL: test_frem |
; CHECK: fmodf |
; CHECK: fmodf |
; CHECK: fmodf |
@@ -62,7 +56,7 @@ define <16 x i8> @test_add_v16i8(<16 x i8> %arg0, <16 x i8> %arg1) { |
entry: |
%res = add <16 x i8> %arg0, %arg1 |
ret <16 x i8> %res |
-; CHECK-LABEL: test_add_v16i8: |
+; CHECK-LABEL: test_add_v16i8 |
; CHECK: paddb |
} |
@@ -70,7 +64,7 @@ define <16 x i8> @test_and_v16i8(<16 x i8> %arg0, <16 x i8> %arg1) { |
entry: |
%res = and <16 x i8> %arg0, %arg1 |
ret <16 x i8> %res |
-; CHECK-LABEL: test_and_v16i8: |
+; CHECK-LABEL: test_and_v16i8 |
; CHECK: pand |
} |
@@ -78,7 +72,7 @@ define <16 x i8> @test_or_v16i8(<16 x i8> %arg0, <16 x i8> %arg1) { |
entry: |
%res = or <16 x i8> %arg0, %arg1 |
ret <16 x i8> %res |
-; CHECK-LABEL: test_or_v16i8: |
+; CHECK-LABEL: test_or_v16i8 |
; CHECK: por |
} |
@@ -86,7 +80,7 @@ define <16 x i8> @test_xor_v16i8(<16 x i8> %arg0, <16 x i8> %arg1) { |
entry: |
%res = xor <16 x i8> %arg0, %arg1 |
ret <16 x i8> %res |
-; CHECK-LABEL: test_xor_v16i8: |
+; CHECK-LABEL: test_xor_v16i8 |
; CHECK: pxor |
} |
@@ -94,7 +88,7 @@ define <16 x i8> @test_sub_v16i8(<16 x i8> %arg0, <16 x i8> %arg1) { |
entry: |
%res = sub <16 x i8> %arg0, %arg1 |
ret <16 x i8> %res |
-; CHECK-LABEL: test_sub_v16i8: |
+; CHECK-LABEL: test_sub_v16i8 |
; CHECK: psubb |
} |
@@ -102,7 +96,7 @@ define <16 x i8> @test_mul_v16i8(<16 x i8> %arg0, <16 x i8> %arg1) { |
entry: |
%res = mul <16 x i8> %arg0, %arg1 |
ret <16 x i8> %res |
-; CHECK-LABEL: test_mul_v16i8: |
+; CHECK-LABEL: test_mul_v16i8 |
; CHECK: imul |
; CHECK: imul |
; CHECK: imul |
@@ -125,7 +119,7 @@ define <16 x i8> @test_shl_v16i8(<16 x i8> %arg0, <16 x i8> %arg1) { |
entry: |
%res = shl <16 x i8> %arg0, %arg1 |
ret <16 x i8> %res |
-; CHECK-LABEL: test_shl_v16i8: |
+; CHECK-LABEL: test_shl_v16i8 |
; CHECK: shl |
; CHECK: shl |
; CHECK: shl |
@@ -148,7 +142,7 @@ define <16 x i8> @test_lshr_v16i8(<16 x i8> %arg0, <16 x i8> %arg1) { |
entry: |
%res = lshr <16 x i8> %arg0, %arg1 |
ret <16 x i8> %res |
-; CHECK-LABEL: test_lshr_v16i8: |
+; CHECK-LABEL: test_lshr_v16i8 |
; CHECK: shr |
; CHECK: shr |
; CHECK: shr |
@@ -171,7 +165,7 @@ define <16 x i8> @test_ashr_v16i8(<16 x i8> %arg0, <16 x i8> %arg1) { |
entry: |
%res = ashr <16 x i8> %arg0, %arg1 |
ret <16 x i8> %res |
-; CHECK-LABEL: test_ashr_v16i8: |
+; CHECK-LABEL: test_ashr_v16i8 |
; CHECK: sar |
; CHECK: sar |
; CHECK: sar |
@@ -194,7 +188,7 @@ define <16 x i8> @test_udiv_v16i8(<16 x i8> %arg0, <16 x i8> %arg1) { |
entry: |
%res = udiv <16 x i8> %arg0, %arg1 |
ret <16 x i8> %res |
-; CHECK-LABEL: test_udiv_v16i8: |
+; CHECK-LABEL: test_udiv_v16i8 |
; CHECK: div |
; CHECK: div |
; CHECK: div |
@@ -217,7 +211,7 @@ define <16 x i8> @test_sdiv_v16i8(<16 x i8> %arg0, <16 x i8> %arg1) { |
entry: |
%res = sdiv <16 x i8> %arg0, %arg1 |
ret <16 x i8> %res |
-; CHECK-LABEL: test_sdiv_v16i8: |
+; CHECK-LABEL: test_sdiv_v16i8 |
; CHECK: idiv |
; CHECK: idiv |
; CHECK: idiv |
@@ -240,7 +234,7 @@ define <16 x i8> @test_urem_v16i8(<16 x i8> %arg0, <16 x i8> %arg1) { |
entry: |
%res = urem <16 x i8> %arg0, %arg1 |
ret <16 x i8> %res |
-; CHECK-LABEL: test_urem_v16i8: |
+; CHECK-LABEL: test_urem_v16i8 |
; CHECK: div |
; CHECK: div |
; CHECK: div |
@@ -263,7 +257,7 @@ define <16 x i8> @test_srem_v16i8(<16 x i8> %arg0, <16 x i8> %arg1) { |
entry: |
%res = srem <16 x i8> %arg0, %arg1 |
ret <16 x i8> %res |
-; CHECK-LABEL: test_srem_v16i8: |
+; CHECK-LABEL: test_srem_v16i8 |
; CHECK: idiv |
; CHECK: idiv |
; CHECK: idiv |
@@ -286,7 +280,7 @@ define <8 x i16> @test_add_v8i16(<8 x i16> %arg0, <8 x i16> %arg1) { |
entry: |
%res = add <8 x i16> %arg0, %arg1 |
ret <8 x i16> %res |
-; CHECK-LABEL: test_add_v8i16: |
+; CHECK-LABEL: test_add_v8i16 |
; CHECK: paddw |
} |
@@ -294,7 +288,7 @@ define <8 x i16> @test_and_v8i16(<8 x i16> %arg0, <8 x i16> %arg1) { |
entry: |
%res = and <8 x i16> %arg0, %arg1 |
ret <8 x i16> %res |
-; CHECK-LABEL: test_and_v8i16: |
+; CHECK-LABEL: test_and_v8i16 |
; CHECK: pand |
} |
@@ -302,7 +296,7 @@ define <8 x i16> @test_or_v8i16(<8 x i16> %arg0, <8 x i16> %arg1) { |
entry: |
%res = or <8 x i16> %arg0, %arg1 |
ret <8 x i16> %res |
-; CHECK-LABEL: test_or_v8i16: |
+; CHECK-LABEL: test_or_v8i16 |
; CHECK: por |
} |
@@ -310,7 +304,7 @@ define <8 x i16> @test_xor_v8i16(<8 x i16> %arg0, <8 x i16> %arg1) { |
entry: |
%res = xor <8 x i16> %arg0, %arg1 |
ret <8 x i16> %res |
-; CHECK-LABEL: test_xor_v8i16: |
+; CHECK-LABEL: test_xor_v8i16 |
; CHECK: pxor |
} |
@@ -318,7 +312,7 @@ define <8 x i16> @test_sub_v8i16(<8 x i16> %arg0, <8 x i16> %arg1) { |
entry: |
%res = sub <8 x i16> %arg0, %arg1 |
ret <8 x i16> %res |
-; CHECK-LABEL: test_sub_v8i16: |
+; CHECK-LABEL: test_sub_v8i16 |
; CHECK: psubw |
} |
@@ -326,7 +320,7 @@ define <8 x i16> @test_mul_v8i16(<8 x i16> %arg0, <8 x i16> %arg1) { |
entry: |
%res = mul <8 x i16> %arg0, %arg1 |
ret <8 x i16> %res |
-; CHECK-LABEL: test_mul_v8i16: |
+; CHECK-LABEL: test_mul_v8i16 |
; CHECK: pmullw |
} |
@@ -334,7 +328,7 @@ define <8 x i16> @test_shl_v8i16(<8 x i16> %arg0, <8 x i16> %arg1) { |
entry: |
%res = shl <8 x i16> %arg0, %arg1 |
ret <8 x i16> %res |
-; CHECK-LABEL: test_shl_v8i16: |
+; CHECK-LABEL: test_shl_v8i16 |
; CHECK: shl |
; CHECK: shl |
; CHECK: shl |
@@ -349,7 +343,7 @@ define <8 x i16> @test_lshr_v8i16(<8 x i16> %arg0, <8 x i16> %arg1) { |
entry: |
%res = lshr <8 x i16> %arg0, %arg1 |
ret <8 x i16> %res |
-; CHECK-LABEL: test_lshr_v8i16: |
+; CHECK-LABEL: test_lshr_v8i16 |
; CHECK: shr |
; CHECK: shr |
; CHECK: shr |
@@ -364,7 +358,7 @@ define <8 x i16> @test_ashr_v8i16(<8 x i16> %arg0, <8 x i16> %arg1) { |
entry: |
%res = ashr <8 x i16> %arg0, %arg1 |
ret <8 x i16> %res |
-; CHECK-LABEL: test_ashr_v8i16: |
+; CHECK-LABEL: test_ashr_v8i16 |
; CHECK: sar |
; CHECK: sar |
; CHECK: sar |
@@ -379,7 +373,7 @@ define <8 x i16> @test_udiv_v8i16(<8 x i16> %arg0, <8 x i16> %arg1) { |
entry: |
%res = udiv <8 x i16> %arg0, %arg1 |
ret <8 x i16> %res |
-; CHECK-LABEL: test_udiv_v8i16: |
+; CHECK-LABEL: test_udiv_v8i16 |
; CHECK: div |
; CHECK: div |
; CHECK: div |
@@ -394,7 +388,7 @@ define <8 x i16> @test_sdiv_v8i16(<8 x i16> %arg0, <8 x i16> %arg1) { |
entry: |
%res = sdiv <8 x i16> %arg0, %arg1 |
ret <8 x i16> %res |
-; CHECK-LABEL: test_sdiv_v8i16: |
+; CHECK-LABEL: test_sdiv_v8i16 |
; CHECK: idiv |
; CHECK: idiv |
; CHECK: idiv |
@@ -409,7 +403,7 @@ define <8 x i16> @test_urem_v8i16(<8 x i16> %arg0, <8 x i16> %arg1) { |
entry: |
%res = urem <8 x i16> %arg0, %arg1 |
ret <8 x i16> %res |
-; CHECK-LABEL: test_urem_v8i16: |
+; CHECK-LABEL: test_urem_v8i16 |
; CHECK: div |
; CHECK: div |
; CHECK: div |
@@ -424,7 +418,7 @@ define <8 x i16> @test_srem_v8i16(<8 x i16> %arg0, <8 x i16> %arg1) { |
entry: |
%res = srem <8 x i16> %arg0, %arg1 |
ret <8 x i16> %res |
-; CHECK-LABEL: test_srem_v8i16: |
+; CHECK-LABEL: test_srem_v8i16 |
; CHECK: idiv |
; CHECK: idiv |
; CHECK: idiv |
@@ -439,7 +433,7 @@ define <4 x i32> @test_add_v4i32(<4 x i32> %arg0, <4 x i32> %arg1) { |
entry: |
%res = add <4 x i32> %arg0, %arg1 |
ret <4 x i32> %res |
-; CHECK-LABEL: test_add_v4i32: |
+; CHECK-LABEL: test_add_v4i32 |
; CHECK: paddd |
} |
@@ -447,7 +441,7 @@ define <4 x i32> @test_and_v4i32(<4 x i32> %arg0, <4 x i32> %arg1) { |
entry: |
%res = and <4 x i32> %arg0, %arg1 |
ret <4 x i32> %res |
-; CHECK-LABEL: test_and_v4i32: |
+; CHECK-LABEL: test_and_v4i32 |
; CHECK: pand |
} |
@@ -455,7 +449,7 @@ define <4 x i32> @test_or_v4i32(<4 x i32> %arg0, <4 x i32> %arg1) { |
entry: |
%res = or <4 x i32> %arg0, %arg1 |
ret <4 x i32> %res |
-; CHECK-LABEL: test_or_v4i32: |
+; CHECK-LABEL: test_or_v4i32 |
; CHECK: por |
} |
@@ -463,7 +457,7 @@ define <4 x i32> @test_xor_v4i32(<4 x i32> %arg0, <4 x i32> %arg1) { |
entry: |
%res = xor <4 x i32> %arg0, %arg1 |
ret <4 x i32> %res |
-; CHECK-LABEL: test_xor_v4i32: |
+; CHECK-LABEL: test_xor_v4i32 |
; CHECK: pxor |
} |
@@ -471,7 +465,7 @@ define <4 x i32> @test_sub_v4i32(<4 x i32> %arg0, <4 x i32> %arg1) { |
entry: |
%res = sub <4 x i32> %arg0, %arg1 |
ret <4 x i32> %res |
-; CHECK-LABEL: test_sub_v4i32: |
+; CHECK-LABEL: test_sub_v4i32 |
; CHECK: psubd |
} |
@@ -479,11 +473,11 @@ define <4 x i32> @test_mul_v4i32(<4 x i32> %arg0, <4 x i32> %arg1) { |
entry: |
%res = mul <4 x i32> %arg0, %arg1 |
ret <4 x i32> %res |
-; CHECK-LABEL: test_mul_v4i32: |
+; CHECK-LABEL: test_mul_v4i32 |
; CHECK: pmuludq |
; CHECK: pmuludq |
; |
-; SSE41-LABEL: test_mul_v4i32: |
+; SSE41-LABEL: test_mul_v4i32 |
; SSE41: pmulld |
} |
@@ -491,21 +485,21 @@ define <4 x i32> @test_shl_v4i32(<4 x i32> %arg0, <4 x i32> %arg1) { |
entry: |
%res = shl <4 x i32> %arg0, %arg1 |
ret <4 x i32> %res |
-; CHECK-LABEL: test_shl_v4i32: |
+; CHECK-LABEL: test_shl_v4i32 |
; CHECK: shl |
; CHECK: shl |
; CHECK: shl |
; CHECK: shl |
; This line is to ensure that pmulld is generated in test_mul_v4i32 above. |
-; SSE41-LABEL: test_shl_v4i32: |
+; SSE41-LABEL: test_shl_v4i32 |
} |
define <4 x i32> @test_lshr_v4i32(<4 x i32> %arg0, <4 x i32> %arg1) { |
entry: |
%res = lshr <4 x i32> %arg0, %arg1 |
ret <4 x i32> %res |
-; CHECK-LABEL: test_lshr_v4i32: |
+; CHECK-LABEL: test_lshr_v4i32 |
; CHECK: shr |
; CHECK: shr |
; CHECK: shr |
@@ -516,7 +510,7 @@ define <4 x i32> @test_ashr_v4i32(<4 x i32> %arg0, <4 x i32> %arg1) { |
entry: |
%res = ashr <4 x i32> %arg0, %arg1 |
ret <4 x i32> %res |
-; CHECK-LABEL: test_ashr_v4i32: |
+; CHECK-LABEL: test_ashr_v4i32 |
; CHECK: sar |
; CHECK: sar |
; CHECK: sar |
@@ -527,7 +521,7 @@ define <4 x i32> @test_udiv_v4i32(<4 x i32> %arg0, <4 x i32> %arg1) { |
entry: |
%res = udiv <4 x i32> %arg0, %arg1 |
ret <4 x i32> %res |
-; CHECK-LABEL: test_udiv_v4i32: |
+; CHECK-LABEL: test_udiv_v4i32 |
; CHECK: div |
; CHECK: div |
; CHECK: div |
@@ -538,7 +532,7 @@ define <4 x i32> @test_sdiv_v4i32(<4 x i32> %arg0, <4 x i32> %arg1) { |
entry: |
%res = sdiv <4 x i32> %arg0, %arg1 |
ret <4 x i32> %res |
-; CHECK-LABEL: test_sdiv_v4i32: |
+; CHECK-LABEL: test_sdiv_v4i32 |
; CHECK: idiv |
; CHECK: idiv |
; CHECK: idiv |
@@ -549,7 +543,7 @@ define <4 x i32> @test_urem_v4i32(<4 x i32> %arg0, <4 x i32> %arg1) { |
entry: |
%res = urem <4 x i32> %arg0, %arg1 |
ret <4 x i32> %res |
-; CHECK-LABEL: test_urem_v4i32: |
+; CHECK-LABEL: test_urem_v4i32 |
; CHECK: div |
; CHECK: div |
; CHECK: div |
@@ -560,7 +554,7 @@ define <4 x i32> @test_srem_v4i32(<4 x i32> %arg0, <4 x i32> %arg1) { |
entry: |
%res = srem <4 x i32> %arg0, %arg1 |
ret <4 x i32> %res |
-; CHECK-LABEL: test_srem_v4i32: |
+; CHECK-LABEL: test_srem_v4i32 |
; CHECK: idiv |
; CHECK: idiv |
; CHECK: idiv |