| Index: tests_lit/llvm2ice_tests/randomize-regalloc.ll
|
| diff --git a/tests_lit/llvm2ice_tests/randomize-regalloc.ll b/tests_lit/llvm2ice_tests/randomize-regalloc.ll
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a2d18af59ffbeb7a78ee84812df0eed3e746051d
|
| --- /dev/null
|
| +++ b/tests_lit/llvm2ice_tests/randomize-regalloc.ll
|
| @@ -0,0 +1,50 @@
|
| +; This is a smoke test of randomized register allocation. The output
|
| +; of this test will change with changes to the random number generator
|
| +; implementation.
|
| +
|
| +; RUN: %llvm2ice -O2 -rng-seed=1 -randomize-regalloc %s \
|
| +; RUN: | FileCheck %s --check-prefix=CHECK
|
| +; RUN: %llvm2ice -Om1 -rng-seed=1 -randomize-regalloc %s \
|
| +; RUN: | FileCheck %s --check-prefix=OPTM1
|
| +; RUN: %llvm2ice -O2 -rng-seed=1 -randomize-regalloc %s \
|
| +; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj
|
| +; RUN: %llvm2ice -Om1 -rng-seed=1 -randomize-regalloc %s \
|
| +; RUN: | llvm-mc -triple=i686-none-nacl -x86-asm-syntax=intel -filetype=obj
|
| +; RUN: %llvm2ice --verbose none %s | FileCheck --check-prefix=ERRORS %s
|
| +; RUN: %llvm2iceinsts %s | %szdiff %s | FileCheck --check-prefix=DUMP %s
|
| +; RUN: %llvm2iceinsts --pnacl %s | %szdiff %s \
|
| +; RUN: | FileCheck --check-prefix=DUMP %s
|
| +
|
| +define <4 x i32> @mul_v4i32(<4 x i32> %a, <4 x i32> %b) {
|
| +entry:
|
| + %res = mul <4 x i32> %a, %b
|
| + ret <4 x i32> %res
|
| +; OPTM1-LABEL: mul_v4i32:
|
| +; OPTM1: sub esp, 60
|
| +; OPTM1: movups xmmword ptr [esp+32], xmm0
|
| +; OPTM1: movups xmmword ptr [esp+16], xmm1
|
| +; OPTM1: movups xmm7, xmmword ptr [esp+32]
|
| +; OPTM1: pshufd xmm0, xmmword ptr [esp+32], 49
|
| +; OPTM1: pshufd xmm1, xmmword ptr [esp+16], 49
|
| +; OPTM1: pmuludq xmm7, xmmword ptr [esp+16]
|
| +; OPTM1: pmuludq xmm0, xmm1
|
| +; OPTM1: shufps xmm7, xmm0, 136
|
| +; OPTM1: pshufd xmm2, xmm7, 216
|
| +; OPTM1: movups xmmword ptr [esp], xmm2
|
| +; OPTM1: movups xmm0, xmmword ptr [esp]
|
| +; OPTM1: add esp, 60
|
| +; OPTM1: ret
|
| +
|
| +; CHECK-LABEL: mul_v4i32:
|
| +; CHECK: movups xmm5, xmm0
|
| +; CHECK: pshufd xmm0, xmm0, 49
|
| +; CHECK: pshufd xmm2, xmm1, 49
|
| +; CHECK: pmuludq xmm5, xmm1
|
| +; CHECK: pmuludq xmm0, xmm2
|
| +; CHECK: shufps xmm5, xmm0, 136
|
| +; CHECK: pshufd xmm0, xmm5, 216
|
| +; CHECK: ret
|
| +}
|
| +
|
| +; ERRORS-NOT: ICE translation error
|
| +; DUMP-NOT: SZ
|
|
|