summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/WebAssembly/i32-load-store-alignment.ll
diff options
context:
space:
mode:
authorDan Gohman <dan433584@gmail.com>2016-04-21 23:59:48 +0000
committerDan Gohman <dan433584@gmail.com>2016-04-21 23:59:48 +0000
commit04e7fb778dbe8f99ea95bb40f57f5063a75669fd (patch)
tree3bc6471721d2948a0c24fdd1fd65b9319b28cbed /llvm/test/CodeGen/WebAssembly/i32-load-store-alignment.ll
parent5be6064974db2ae9f9e412dac6a29655a7deb585 (diff)
downloadbcm5719-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.ll14
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
OpenPOWER on IntegriCloud