| Index: tests_lit/llvm2ice_tests/commutativity.ll
|
| diff --git a/tests_lit/llvm2ice_tests/commutativity.ll b/tests_lit/llvm2ice_tests/commutativity.ll
|
| index a8cecccdfb18a1d783c0bee9cd61c4b43a0c6178..ca5f6c76182d3e75882f3b9c97137ab91c32656e 100644
|
| --- a/tests_lit/llvm2ice_tests/commutativity.ll
|
| +++ b/tests_lit/llvm2ice_tests/commutativity.ll
|
| @@ -6,6 +6,12 @@
|
| ; RUN: --target x8632 -i %s --args -O2 \
|
| ; RUN: | %if --need=target_X8632 --command FileCheck %s
|
|
|
| +; RUN: %if --need=target_MIPS32 --need=allow_dump \
|
| +; RUN: --command %p2i --filetype=asm --assemble --disassemble --target \
|
| +; RUN: mips32 -i %s --args -O2 -allow-externally-defined-symbols \
|
| +; RUN: | %if --need=target_MIPS32 --need=allow_dump \
|
| +; RUN: --command FileCheck --check-prefix MIPS32 %s
|
| +
|
| define internal i32 @integerAddLeft(i32 %a, i32 %b) {
|
| entry:
|
| %tmp = add i32 %a, %b
|
| @@ -17,6 +23,10 @@ entry:
|
| ; CHECK-NEXT: mov {{e..}},DWORD PTR
|
| ; CHECK-NEXT: add {{e..}},{{e..}}
|
| ; CHECK-NEXT: add {{e..}},{{e..}}
|
| +; MIPS32-LABEL: integerAddLeft
|
| +; MIPS32: move v0,a0
|
| +; MIPS32: addu v0,v0,a1
|
| +; MIPS32: addu a0,a0,v0
|
|
|
| define internal i32 @integerAddRight(i32 %a, i32 %b) {
|
| entry:
|
| @@ -29,6 +39,10 @@ entry:
|
| ; CHECK-NEXT: mov {{e..}},DWORD PTR
|
| ; CHECK-NEXT: add {{e..}},{{e..}}
|
| ; CHECK-NEXT: add {{e..}},{{e..}}
|
| +; MIPS32-LABEL: integerAddRight
|
| +; MIPS32: move v0,a1
|
| +; MIPS32: addu a0,a0,v0
|
| +; MIPS32: addu a1,a1,a0
|
|
|
| define internal i32 @integerMultiplyLeft(i32 %a, i32 %b) {
|
| entry:
|
| @@ -41,6 +55,10 @@ entry:
|
| ; CHECK-NEXT: mov {{e..}},DWORD PTR
|
| ; CHECK-NEXT: imul {{e..}},{{e..}}
|
| ; CHECK-NEXT: imul {{e..}},{{e..}}
|
| +; MIPS32-LABEL: integerMultiplyLeft
|
| +; MIPS32: move v0,a0
|
| +; MIPS32: mul v0,v0,a1
|
| +; MIPS32: mul a0,a0,v0
|
|
|
| define internal i32 @integerMultiplyRight(i32 %a, i32 %b) {
|
| entry:
|
| @@ -53,6 +71,10 @@ entry:
|
| ; CHECK-NEXT: mov {{e..}},DWORD PTR
|
| ; CHECK-NEXT: imul {{e..}},{{e..}}
|
| ; CHECK-NEXT: imul {{e..}},{{e..}}
|
| +; MIPS32-LABEL: integerMultiplyRight
|
| +; MIPS32: move v0,a1
|
| +; MIPS32: mul a0,a0,v0
|
| +; MIPS32: mul a1,a1,a0
|
|
|
| define internal float @floatAddLeft(float %a, float %b) {
|
| entry:
|
| @@ -66,6 +88,10 @@ entry:
|
| ; CHECK-NEXT: movss xmm1,DWORD PTR
|
| ; CHECK-NEXT: addss xmm1,xmm0
|
| ; CHECK-NEXT: addss xmm0,xmm1
|
| +; MIPS32-LABEL: floatAddLeft
|
| +; MIPS32: mov.s $f0,$f12
|
| +; MIPS32: add.s $f0,$f0,$f14
|
| +; MIPS32: add.s $f12,$f12,$f0
|
|
|
| define internal float @floatAddRight(float %a, float %b) {
|
| entry:
|
| @@ -79,6 +105,10 @@ entry:
|
| ; CHECK-NEXT: movss xmm1,DWORD PTR
|
| ; CHECK-NEXT: addss xmm0,xmm1
|
| ; CHECK-NEXT: addss xmm1,xmm0
|
| +; MIPS32-LABEL: floatAddRight
|
| +; MIPS32: mov.s $f0,$f14
|
| +; MIPS32: add.s $f12,$f12,$f0
|
| +; MIPS32: add.s $f14,$f14,$f12
|
|
|
| define internal float @floatMultiplyLeft(float %a, float %b) {
|
| entry:
|
| @@ -92,6 +122,10 @@ entry:
|
| ; CHECK-NEXT: movss xmm1,DWORD PTR
|
| ; CHECK-NEXT: mulss xmm1,xmm0
|
| ; CHECK-NEXT: mulss xmm0,xmm1
|
| +; MIPS32-LABEL: floatMultiplyLeft
|
| +; MIPS32: mov.s $f0,$f12
|
| +; MIPS32: mul.s $f0,$f0,$f14
|
| +; MIPS32: mul.s $f12,$f12,$f0
|
|
|
| define internal float @floatMultiplyRight(float %a, float %b) {
|
| entry:
|
| @@ -105,3 +139,7 @@ entry:
|
| ; CHECK-NEXT: movss xmm1,DWORD PTR
|
| ; CHECK-NEXT: mulss xmm0,xmm1
|
| ; CHECK-NEXT: mulss xmm1,xmm0
|
| +; MIPS32-LABEL: floatMultiplyRight
|
| +; MIPS32: mov.s $f0,$f14
|
| +; MIPS32: mul.s $f12,$f12,$f0
|
| +; MIPS32: mul.s $f14,$f14,$f12
|
|
|