Chromium Code Reviews| Index: tests_lit/llvm2ice_tests/convert.ll |
| diff --git a/tests_lit/llvm2ice_tests/convert.ll b/tests_lit/llvm2ice_tests/convert.ll |
| index 52c55ef896242ee6ac34615f0688db1509dbc610..b15a41c0e1bc5e77bb1c95b164b10f3a19f2cf9b 100644 |
| --- a/tests_lit/llvm2ice_tests/convert.ll |
| +++ b/tests_lit/llvm2ice_tests/convert.ll |
| @@ -20,6 +20,12 @@ |
| ; RUN: | %if --need=target_ARM32 \ |
| ; RUN: --command FileCheck --check-prefix ARM32 %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 |
| + |
| @i8v = internal global [1 x i8] zeroinitializer, align 1 |
| @i16v = internal global [2 x i8] zeroinitializer, align 2 |
| @i32v = internal global [4 x i8] zeroinitializer, align 4 |
| @@ -70,6 +76,28 @@ entry: |
| ; ARM32-DAG: str r{{.*}}, [r{{[0-9]+}}] |
| ; ARM32-DAG: str r{{.*}}, [{{.*}}, #4] |
| +; MIPS32-LABEL: from_int8 |
| +; MIPS32: lui {{.*}} i8v |
| +; MIPS32: addiu {{.*}} i8v |
| +; MIPS32: lb |
| +; MIPS32: move |
| +; MIPS32: sll {{.*}},0x18 |
| +; MIPS32: sra {{.*}},0x18 |
| +; MIPS32: lui {{.*}} i16v |
| +; MIPS32: addiu {{.*}} i16v |
| +; MIPS32: sh |
| +; MIPS32: move |
| +; MIPS32: sll {{.*}},0x18 |
| +; MIPS32: sra {{.*}},0x18 |
| +; MIPS32: lui {{.*}} i32v |
| +; MIPS32: addiu {{.*}} i32v |
| +; MIPS32: sw |
| +; MIPS32: sll {{.*}},0x18 |
| +; MIPS32: sra {{.*}},0x18 |
| +; MIPS32: sra {{.*}},0x1f |
| +; MIPS32: lui {{.*}} i64v |
| +; MIPS32: addiu {{.*}} i64v |
| + |
| define internal void @from_int16() { |
| entry: |
| %__0 = bitcast [2 x i8]* @i16v to i16* |
| @@ -107,6 +135,26 @@ entry: |
| ; ARM32: movw {{.*}}i64v |
| ; ARM32: str r |
| +; MIPS32-LABEL: from_int16 |
| +; MIPS32: lui {{.*}} i16v |
| +; MIPS32: addiu {{.*}} i16v |
| +; MIPS32: lh |
| +; MIPS32: move |
| +; MIPS32: lui {{.*}} i8v |
| +; MIPS32: addiu {{.*}} i8v |
| +; MIPS32: sb |
| +; MIPS32: move |
| +; MIPS32: sll {{.*}},0x10 |
| +; MIPS32: sra {{.*}},0x10 |
| +; MIPS32: lui {{.*}} i32v |
| +; MIPS32: addiu {{.*}} i32v |
| +; MIPS32: sw |
| +; MIPS32: sll {{.*}},0x10 |
| +; MIPS32: sra {{.*}},0x10 |
| +; MIPS32: sra {{.*}},0x1f |
| +; MIPS32: lui {{.*}} i64v |
| +; MIPS32: addiu {{.*}} i64v |
| + |
| define internal void @from_int32() { |
| entry: |
| %__0 = bitcast [4 x i8]* @i32v to i32* |
| @@ -140,6 +188,22 @@ entry: |
| ; ARM32: movw {{.*}}i64v |
| ; ARM32: str r |
| +; MIPS32-LABEL: from_int32 |
| +; MIPS32: lui {{.*}} i32v |
| +; MIPS32: addiu {{.*}} i32v |
| +; MIPS32: lw |
| +; MIPS32: move |
| +; MIPS32: lui {{.*}} i8v |
| +; MIPS32: addiu {{.*}} i8v |
| +; MIPS32: sb |
| +; MIPS32: move |
| +; MIPS32: lui {{.*}} i16v |
| +; MIPS32: addiu {{.*}} i16v |
| +; MIPS32: sh |
| +; MIPS32: sra {{.*}},0x1f |
| +; MIPS32: lui {{.*}} i64v |
| +; MIPS32: addiu {{.*}} i64v |
| + |
| define internal void @from_int64() { |
| entry: |
| %__0 = bitcast [8 x i8]* @i64v to i64* |
| @@ -171,6 +235,21 @@ entry: |
| ; ARM32: movw {{.*}}i32v |
| ; ARM32: str r |
| +; MIPS32-LABEL: from_int64 |
| +; MIPS32: lui {{.*}} i64v |
| +; MIPS32: addiu {{.*}} i64v |
| +; MIPS32: lw |
| +; MIPS32: move |
| +; MIPS32: lui {{.*}} i8v |
| +; MIPS32: addiu {{.*}} i8v |
| +; MIPS32: sb |
| +; MIPS32: move |
| +; MIPS32: lui {{.*}} i16v |
| +; MIPS32: addiu {{.*}} i16v |
| +; MIPS32: sh |
| +; MIPS32: lui {{.*}} i32v |
| +; MIPS32: addiu {{.*}} i32v |
| + |
| define internal void @from_uint8() { |
| entry: |
| %__0 = bitcast [1 x i8]* @u8v to i8* |
| @@ -210,6 +289,25 @@ entry: |
| ; ARM32: movw {{.*}}i64v |
| ; ARM32: str r |
| +; MIPS32-LABEL: from_uint8 |
| +; MIPS32: lui {{.*}} u8v |
| +; MIPS32: addiu {{.*}} u8v |
| +; MIPS32: lb |
| +; MIPS32: move |
| +; MIPS32: andi {{.*}},0xff |
| +; MIPS32: lui {{.*}} i16v |
| +; MIPS32: addiu {{.*}} i16v |
| +; MIPS32: sh |
| +; MIPS32: move |
| +; MIPS32: andi {{.*}},0xff |
| +; MIPS32: lui {{.*}} i32v |
| +; MIPS32: addiu {{.*}} i32v |
| +; MIPS32: sw |
| +; MIPS32: andi {{.*}},0xff |
| +; MIPS32: li {{.*}},0 |
| +; MIPS32: lui {{.*}} i64v |
| +; MIPS32: addiu {{.*}} i64v |
| + |
| define internal void @from_uint16() { |
| entry: |
| %__0 = bitcast [2 x i8]* @u16v to i16* |
| @@ -247,6 +345,24 @@ entry: |
| ; ARM32: movw {{.*}}i64v |
| ; ARM32: str r |
| +; MIPS32-LABEL: from_uint16 |
| +; MIPS32: lui {{.*}} u16v |
| +; MIPS32: addiu {{.*}} u16v |
| +; MIPS32: lh |
| +; MIPS32: move |
| +; MIPS32: lui {{.*}} i8v |
| +; MIPS32: addiu {{.*}} i8v |
| +; MIPS32: sb |
| +; MIPS32: move |
| +; MIPS32: andi {{.*}},0xffff |
| +; MIPS32: lui {{.*}} i32v |
| +; MIPS32: addiu {{.*}} i32v |
| +; MIPS32: sw |
| +; MIPS32: andi {{.*}},0xffff |
| +; MIPS32: li {{.*}},0 |
| +; MIPS32: lui {{.*}} i64v |
| +; MIPS32: addiu {{.*}} i64v |
| + |
| define internal void @from_uint32() { |
| entry: |
| %__0 = bitcast [4 x i8]* @u32v to i32* |
| @@ -280,6 +396,22 @@ entry: |
| ; ARM32: movw {{.*}}i64v |
| ; ARM32: str r |
| +; MIPS32-LABEL: from_uint32 |
| +; MIPS32: lui {{.*}} u32v |
| +; MIPS32: addiu {{.*}} u32v |
| +; MIPS32: lw |
| +; MIPS32: move |
| +; MIPS32: lui {{.*}} i8v |
| +; MIPS32: addiu {{.*}} i8v |
| +; MIPS32: sb |
| +; MIPS32: move |
| +; MIPS32: lui {{.*}} i16v |
| +; MIPS32: addiu {{.*}} i16v |
| +; MIPS32: sh |
| +; MIPS32: li {{.*}},0 |
| +; MIPS32: lui {{.*}} i64v |
| +; MIPS32: addiu {{.*}} i64v |
| + |
| define internal void @from_uint64() { |
| entry: |
| %__0 = bitcast [8 x i8]* @u64v to i64* |
| @@ -310,3 +442,19 @@ entry: |
| ; ARM32: strh |
| ; ARM32: movw {{.*}}i32v |
| ; ARM32: str r |
| + |
| +; MIPS32-LABEL: from_uint64 |
| +; MIPS32: lui {{.*}} u64v |
| +; MIPS32: addiu {{.*}} u64v |
| +; MIPS32: lw |
| +; MIPS32: move |
| +; MIPS32: lui {{.*}} i8v |
| +; MIPS32: addiu {{.*}} i8v |
| +; MIPS32: sb |
| +; MIPS32: move |
| +; MIPS32: lui {{.*}} i16v |
| +; MIPS32: addiu {{.*}} i16v |
| +; MIPS32: sh |
| +; MIPS32: lui {{.*}} i32v |
| +; MIPS32: addiu {{.*}} i32v |
| + |
|
Jim Stichnoth
2016/10/28 17:42:07
Remove trailing "whitespace" (last blank line) to
Stefan Maksimovic
2016/10/31 10:33:08
Done.
|