forked from OSchip/llvm-project
WebAssembly: fix more syntax
br_if shouldn't start with a dot. div and rem went from prefix u/s to suffix. llvm-svn: 250972
This commit is contained in:
parent
6a8c151ecb
commit
f2364bf129
|
@ -107,7 +107,7 @@ static std::string OpcodeName(const WebAssemblyInstrInfo *TII,
|
|||
std::string Name(&N[0], &N[NameEnd]);
|
||||
if (!HasType)
|
||||
return Name;
|
||||
for (const char *typelessOpcode : { "return", "call" })
|
||||
for (const char *typelessOpcode : { "return", "call", "br_if" })
|
||||
if (Name == typelessOpcode)
|
||||
return Name;
|
||||
return std::string(&N[NameEnd + 1], &N[Len]) + '.' + Name;
|
||||
|
|
|
@ -15,10 +15,10 @@
|
|||
defm ADD : BinaryInt<add>;
|
||||
defm SUB : BinaryInt<sub>;
|
||||
defm MUL : BinaryInt<mul>;
|
||||
defm SDIV : BinaryInt<sdiv>;
|
||||
defm UDIV : BinaryInt<udiv>;
|
||||
defm SREM : BinaryInt<srem>;
|
||||
defm UREM : BinaryInt<urem>;
|
||||
defm DIV_S : BinaryInt<sdiv>;
|
||||
defm DIV_U : BinaryInt<udiv>;
|
||||
defm REM_S : BinaryInt<srem>;
|
||||
defm REM_U : BinaryInt<urem>;
|
||||
defm AND : BinaryInt<and>;
|
||||
defm IOR : BinaryInt<or>;
|
||||
defm XOR : BinaryInt<xor>;
|
||||
|
|
|
@ -69,7 +69,7 @@ define i32 @mul32(i32 %x, i32 %y) {
|
|||
; CHECK-NEXT: set_local 2, pop{{$}}
|
||||
; CHECK-NEXT: get_local 0{{$}}
|
||||
; CHECK-NEXT: set_local 3, pop{{$}}
|
||||
; CHECK-NEXT: sdiv (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: div_s (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: set_local 4, pop{{$}}
|
||||
; CHECK-NEXT: return (get_local 4){{$}}
|
||||
define i32 @sdiv32(i32 %x, i32 %y) {
|
||||
|
@ -86,7 +86,7 @@ define i32 @sdiv32(i32 %x, i32 %y) {
|
|||
; CHECK-NEXT: set_local 2, pop{{$}}
|
||||
; CHECK-NEXT: get_local 0{{$}}
|
||||
; CHECK-NEXT: set_local 3, pop{{$}}
|
||||
; CHECK-NEXT: udiv (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: div_u (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: set_local 4, pop{{$}}
|
||||
; CHECK-NEXT: return (get_local 4){{$}}
|
||||
define i32 @udiv32(i32 %x, i32 %y) {
|
||||
|
@ -103,7 +103,7 @@ define i32 @udiv32(i32 %x, i32 %y) {
|
|||
; CHECK-NEXT: set_local 2, pop{{$}}
|
||||
; CHECK-NEXT: get_local 0{{$}}
|
||||
; CHECK-NEXT: set_local 3, pop{{$}}
|
||||
; CHECK-NEXT: srem (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: rem_s (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: set_local 4, pop{{$}}
|
||||
; CHECK-NEXT: return (get_local 4){{$}}
|
||||
define i32 @srem32(i32 %x, i32 %y) {
|
||||
|
@ -120,7 +120,7 @@ define i32 @srem32(i32 %x, i32 %y) {
|
|||
; CHECK-NEXT: set_local 2, pop{{$}}
|
||||
; CHECK-NEXT: get_local 0{{$}}
|
||||
; CHECK-NEXT: set_local 3, pop{{$}}
|
||||
; CHECK-NEXT: urem (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: rem_u (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: set_local 4, pop{{$}}
|
||||
; CHECK-NEXT: return (get_local 4){{$}}
|
||||
define i32 @urem32(i32 %x, i32 %y) {
|
||||
|
|
|
@ -69,7 +69,7 @@ define i64 @mul64(i64 %x, i64 %y) {
|
|||
; CHECK-NEXT: set_local 2, pop{{$}}
|
||||
; CHECK-NEXT: get_local 0{{$}}
|
||||
; CHECK-NEXT: set_local 3, pop{{$}}
|
||||
; CHECK-NEXT: sdiv (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: div_s (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: set_local 4, pop{{$}}
|
||||
; CHECK-NEXT: return (get_local 4){{$}}
|
||||
define i64 @sdiv64(i64 %x, i64 %y) {
|
||||
|
@ -86,7 +86,7 @@ define i64 @sdiv64(i64 %x, i64 %y) {
|
|||
; CHECK-NEXT: set_local 2, pop{{$}}
|
||||
; CHECK-NEXT: get_local 0{{$}}
|
||||
; CHECK-NEXT: set_local 3, pop{{$}}
|
||||
; CHECK-NEXT: udiv (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: div_u (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: set_local 4, pop{{$}}
|
||||
; CHECK-NEXT: return (get_local 4){{$}}
|
||||
define i64 @udiv64(i64 %x, i64 %y) {
|
||||
|
@ -103,7 +103,7 @@ define i64 @udiv64(i64 %x, i64 %y) {
|
|||
; CHECK-NEXT: set_local 2, pop{{$}}
|
||||
; CHECK-NEXT: get_local 0{{$}}
|
||||
; CHECK-NEXT: set_local 3, pop{{$}}
|
||||
; CHECK-NEXT: srem (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: rem_s (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: set_local 4, pop{{$}}
|
||||
; CHECK-NEXT: return (get_local 4){{$}}
|
||||
define i64 @srem64(i64 %x, i64 %y) {
|
||||
|
@ -120,7 +120,7 @@ define i64 @srem64(i64 %x, i64 %y) {
|
|||
; CHECK-NEXT: set_local 2, pop{{$}}
|
||||
; CHECK-NEXT: get_local 0{{$}}
|
||||
; CHECK-NEXT: set_local 3, pop{{$}}
|
||||
; CHECK-NEXT: urem (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: rem_u (get_local 3), (get_local 2){{$}}
|
||||
; CHECK-NEXT: set_local 4, pop{{$}}
|
||||
; CHECK-NEXT: return (get_local 4){{$}}
|
||||
define i64 @urem64(i64 %x, i64 %y) {
|
||||
|
|
|
@ -10,7 +10,7 @@ target triple = "wasm32-unknown-unknown"
|
|||
; CHECK-LABEL: test0:
|
||||
; CHECK: get_local 0{{$}}
|
||||
; CHECK: set_local [[REG:.*]], pop
|
||||
; CHECK: sdiv (get_local [[REG]]), {{.*}}
|
||||
; CHECK: div_s (get_local [[REG]]), {{.*}}
|
||||
; CHECK: set_local [[REG]], pop
|
||||
; CHECK: return (get_local [[REG]])
|
||||
define i32 @test0(i32 %p) {
|
||||
|
|
Loading…
Reference in New Issue