diff options
author | Dan Gohman <dan433584@gmail.com> | 2016-04-21 23:59:48 +0000 |
---|---|---|
committer | Dan Gohman <dan433584@gmail.com> | 2016-04-21 23:59:48 +0000 |
commit | 04e7fb778dbe8f99ea95bb40f57f5063a75669fd (patch) | |
tree | 3bc6471721d2948a0c24fdd1fd65b9319b28cbed /llvm/test/CodeGen/WebAssembly/i32-load-store-alignment.ll | |
parent | 5be6064974db2ae9f9e412dac6a29655a7deb585 (diff) | |
download | bcm5719-llvm-04e7fb778dbe8f99ea95bb40f57f5063a75669fd.tar.gz bcm5719-llvm-04e7fb778dbe8f99ea95bb40f57f5063a75669fd.zip |
[WebAssembly] Limit alignment hints to natural alignment.
This follows the current binary format rules.
llvm-svn: 267082
Diffstat (limited to 'llvm/test/CodeGen/WebAssembly/i32-load-store-alignment.ll')
-rw-r--r-- | llvm/test/CodeGen/WebAssembly/i32-load-store-alignment.ll | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/i32-load-store-alignment.ll b/llvm/test/CodeGen/WebAssembly/i32-load-store-alignment.ll index 89279fba1e5..3c48a1ad245 100644 --- a/llvm/test/CodeGen/WebAssembly/i32-load-store-alignment.ll +++ b/llvm/test/CodeGen/WebAssembly/i32-load-store-alignment.ll @@ -49,10 +49,12 @@ define i32 @ldi32(i32 *%p) { ret i32 %v } +; 8 is greater than the default alignment so it is ignored. + ; CHECK-LABEL: ldi32_a8: ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} -; CHECK-NEXT: i32.load $push[[NUM:[0-9]+]]=, 0($0):p2align=3{{$}} +; CHECK-NEXT: i32.load $push[[NUM:[0-9]+]]=, 0($0){{$}} ; CHECK-NEXT: return $pop[[NUM]]{{$}} define i32 @ldi32_a8(i32 *%p) { %v = load i32, i32* %p, align 8 @@ -74,7 +76,7 @@ define i8 @ldi8_a1(i8 *%p) { ; CHECK-LABEL: ldi8_a2: ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} -; CHECK-NEXT: i32.load8_u $push[[NUM:[0-9]+]]=, 0($0):p2align=1{{$}} +; CHECK-NEXT: i32.load8_u $push[[NUM:[0-9]+]]=, 0($0){{$}} ; CHECK-NEXT: return $pop[[NUM]]{{$}} define i8 @ldi8_a2(i8 *%p) { %v = load i8, i8* %p, align 2 @@ -104,7 +106,7 @@ define i16 @ldi16_a2(i16 *%p) { ; CHECK-LABEL: ldi16_a4: ; CHECK-NEXT: .param i32{{$}} ; CHECK-NEXT: .result i32{{$}} -; CHECK-NEXT: i32.load16_u $push[[NUM:[0-9]+]]=, 0($0):p2align=2{{$}} +; CHECK-NEXT: i32.load16_u $push[[NUM:[0-9]+]]=, 0($0){{$}} ; CHECK-NEXT: return $pop[[NUM]]{{$}} define i16 @ldi16_a4(i16 *%p) { %v = load i16, i16* %p, align 4 @@ -155,7 +157,7 @@ define void @sti32(i32 *%p, i32 %v) { ; CHECK-LABEL: sti32_a8: ; CHECK-NEXT: .param i32, i32{{$}} -; CHECK-NEXT: i32.store $discard=, 0($0):p2align=3, $1{{$}} +; CHECK-NEXT: i32.store $discard=, 0($0), $1{{$}} ; CHECK-NEXT: return{{$}} define void @sti32_a8(i32 *%p, i32 %v) { store i32 %v, i32* %p, align 8 @@ -175,7 +177,7 @@ define void @sti8_a1(i8 *%p, i8 %v) { ; CHECK-LABEL: sti8_a2: ; CHECK-NEXT: .param i32, i32{{$}} -; CHECK-NEXT: i32.store8 $discard=, 0($0):p2align=1, $1{{$}} +; CHECK-NEXT: i32.store8 $discard=, 0($0), $1{{$}} ; CHECK-NEXT: return{{$}} define void @sti8_a2(i8 *%p, i8 %v) { store i8 %v, i8* %p, align 2 @@ -202,7 +204,7 @@ define void @sti16_a2(i16 *%p, i16 %v) { ; CHECK-LABEL: sti16_a4: ; CHECK-NEXT: .param i32, i32{{$}} -; CHECK-NEXT: i32.store16 $discard=, 0($0):p2align=2, $1{{$}} +; CHECK-NEXT: i32.store16 $discard=, 0($0), $1{{$}} ; CHECK-NEXT: return{{$}} define void @sti16_a4(i16 *%p, i16 %v) { store i16 %v, i16* %p, align 4 |