summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/WebAssembly/simd-offset.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/WebAssembly/simd-offset.ll')
-rw-r--r--llvm/test/CodeGen/WebAssembly/simd-offset.ll444
1 files changed, 222 insertions, 222 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/simd-offset.ll b/llvm/test/CodeGen/WebAssembly/simd-offset.ll
index dd8f3a1681b..5ce0ca94dc4 100644
--- a/llvm/test/CodeGen/WebAssembly/simd-offset.ll
+++ b/llvm/test/CodeGen/WebAssembly/simd-offset.ll
@@ -14,8 +14,8 @@ target triple = "wasm32-unknown-unknown"
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 0($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <16 x i8> @load_v16i8(<16 x i8>* %p) {
%v = load <16 x i8>, <16 x i8>* %p
ret <16 x i8> %v
@@ -25,8 +25,8 @@ define <16 x i8> @load_v16i8(<16 x i8>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 16($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 16($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <16 x i8> @load_v16i8_with_folded_offset(<16 x i8>* %p) {
%q = ptrtoint <16 x i8>* %p to i32
%r = add nuw i32 %q, 16
@@ -39,8 +39,8 @@ define <16 x i8> @load_v16i8_with_folded_offset(<16 x i8>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 16($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 16($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <16 x i8> @load_v16i8_with_folded_gep_offset(<16 x i8>* %p) {
%s = getelementptr inbounds <16 x i8>, <16 x i8>* %p, i32 1
%v = load <16 x i8>, <16 x i8>* %s
@@ -51,10 +51,10 @@ define <16 x i8> @load_v16i8_with_folded_gep_offset(<16 x i8>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <16 x i8> @load_v16i8_with_unfolded_gep_negative_offset(<16 x i8>* %p) {
%s = getelementptr inbounds <16 x i8>, <16 x i8>* %p, i32 -1
%v = load <16 x i8>, <16 x i8>* %s
@@ -65,10 +65,10 @@ define <16 x i8> @load_v16i8_with_unfolded_gep_negative_offset(<16 x i8>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <16 x i8> @load_v16i8_with_unfolded_offset(<16 x i8>* %p) {
%q = ptrtoint <16 x i8>* %p to i32
%r = add nsw i32 %q, 16
@@ -81,10 +81,10 @@ define <16 x i8> @load_v16i8_with_unfolded_offset(<16 x i8>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <16 x i8> @load_v16i8_with_unfolded_gep_offset(<16 x i8>* %p) {
%s = getelementptr <16 x i8>, <16 x i8>* %p, i32 1
%v = load <16 x i8>, <16 x i8>* %s
@@ -94,9 +94,9 @@ define <16 x i8> @load_v16i8_with_unfolded_gep_offset(<16 x i8>* %p) {
; CHECK-LABEL: load_v16i8_from_numeric_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.load $push1=, 32($pop0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop1{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 32($pop[[L0]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <16 x i8> @load_v16i8_from_numeric_address() {
%s = inttoptr i32 32 to <16 x i8>*
%v = load <16 x i8>, <16 x i8>* %s
@@ -106,9 +106,9 @@ define <16 x i8> @load_v16i8_from_numeric_address() {
; CHECK-LABEL: load_v16i8_from_global_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.load $push1=, gv_v16i8($pop0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop1{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, gv_v16i8($pop[[L0]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
@gv_v16i8 = global <16 x i8> <i8 42, i8 42, i8 42, i8 42, i8 42, i8 42, i8 42, i8 42, i8 42, i8 42, i8 42, i8 42, i8 42, i8 42, i8 42, i8 42>
define <16 x i8> @load_v16i8_from_global_address() {
%v = load <16 x i8>, <16 x i8>* @gv_v16i8
@@ -149,9 +149,9 @@ define void @store_v16i8_with_folded_gep_offset(<16 x i8> %v, <16 x i8>* %p) {
; CHECK-LABEL: store_v16i8_with_unfolded_gep_negative_offset:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v16i8_with_unfolded_gep_negative_offset(<16 x i8> %v, <16 x i8>* %p) {
%s = getelementptr inbounds <16 x i8>, <16 x i8>* %p, i32 -1
store <16 x i8> %v , <16 x i8>* %s
@@ -161,9 +161,9 @@ define void @store_v16i8_with_unfolded_gep_negative_offset(<16 x i8> %v, <16 x i
; CHECK-LABEL: store_v16i8_with_unfolded_offset:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v16i8_with_unfolded_offset(<16 x i8> %v, <16 x i8>* %p) {
%s = getelementptr inbounds <16 x i8>, <16 x i8>* %p, i32 -1
store <16 x i8> %v , <16 x i8>* %s
@@ -173,9 +173,9 @@ define void @store_v16i8_with_unfolded_offset(<16 x i8> %v, <16 x i8>* %p) {
; CHECK-LABEL: store_v16i8_with_unfolded_gep_offset:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v16i8_with_unfolded_gep_offset(<16 x i8> %v, <16 x i8>* %p) {
%s = getelementptr <16 x i8>, <16 x i8>* %p, i32 1
store <16 x i8> %v , <16 x i8>* %s
@@ -185,8 +185,8 @@ define void @store_v16i8_with_unfolded_gep_offset(<16 x i8> %v, <16 x i8>* %p) {
; CHECK-LABEL: store_v16i8_to_numeric_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.store 32($pop0):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[R:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.store 32($pop[[R]]):p2align=0, $0{{$}}
define void @store_v16i8_to_numeric_address(<16 x i8> %v) {
%s = inttoptr i32 32 to <16 x i8>*
store <16 x i8> %v , <16 x i8>* %s
@@ -196,8 +196,8 @@ define void @store_v16i8_to_numeric_address(<16 x i8> %v) {
; CHECK-LABEL: store_v16i8_to_global_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.store gv_v16i8($pop0):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[R:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.store gv_v16i8($pop[[R]]):p2align=0, $0{{$}}
define void @store_v16i8_to_global_address(<16 x i8> %v) {
store <16 x i8> %v , <16 x i8>* @gv_v16i8
ret void
@@ -210,8 +210,8 @@ define void @store_v16i8_to_global_address(<16 x i8> %v) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 0($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <8 x i16> @load_v8i16(<8 x i16>* %p) {
%v = load <8 x i16>, <8 x i16>* %p
ret <8 x i16> %v
@@ -221,8 +221,8 @@ define <8 x i16> @load_v8i16(<8 x i16>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 16($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 16($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <8 x i16> @load_v8i16_with_folded_offset(<8 x i16>* %p) {
%q = ptrtoint <8 x i16>* %p to i32
%r = add nuw i32 %q, 16
@@ -235,8 +235,8 @@ define <8 x i16> @load_v8i16_with_folded_offset(<8 x i16>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 16($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 16($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <8 x i16> @load_v8i16_with_folded_gep_offset(<8 x i16>* %p) {
%s = getelementptr inbounds <8 x i16>, <8 x i16>* %p, i32 1
%v = load <8 x i16>, <8 x i16>* %s
@@ -247,10 +247,10 @@ define <8 x i16> @load_v8i16_with_folded_gep_offset(<8 x i16>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <8 x i16> @load_v8i16_with_unfolded_gep_negative_offset(<8 x i16>* %p) {
%s = getelementptr inbounds <8 x i16>, <8 x i16>* %p, i32 -1
%v = load <8 x i16>, <8 x i16>* %s
@@ -261,10 +261,10 @@ define <8 x i16> @load_v8i16_with_unfolded_gep_negative_offset(<8 x i16>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[L0:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[L0]]{{$}}
define <8 x i16> @load_v8i16_with_unfolded_offset(<8 x i16>* %p) {
%q = ptrtoint <8 x i16>* %p to i32
%r = add nsw i32 %q, 16
@@ -277,10 +277,10 @@ define <8 x i16> @load_v8i16_with_unfolded_offset(<8 x i16>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <8 x i16> @load_v8i16_with_unfolded_gep_offset(<8 x i16>* %p) {
%s = getelementptr <8 x i16>, <8 x i16>* %p, i32 1
%v = load <8 x i16>, <8 x i16>* %s
@@ -290,9 +290,9 @@ define <8 x i16> @load_v8i16_with_unfolded_gep_offset(<8 x i16>* %p) {
; CHECK-LABEL: load_v8i16_from_numeric_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.load $push1=, 32($pop0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop1{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 32($pop[[L0]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <8 x i16> @load_v8i16_from_numeric_address() {
%s = inttoptr i32 32 to <8 x i16>*
%v = load <8 x i16>, <8 x i16>* %s
@@ -302,9 +302,9 @@ define <8 x i16> @load_v8i16_from_numeric_address() {
; CHECK-LABEL: load_v8i16_from_global_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.load $push1=, gv_v8i16($pop0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop1{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, gv_v8i16($pop[[L0]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
@gv_v8i16 = global <8 x i16> <i16 42, i16 42, i16 42, i16 42, i16 42, i16 42, i16 42, i16 42>
define <8 x i16> @load_v8i16_from_global_address() {
%v = load <8 x i16>, <8 x i16>* @gv_v8i16
@@ -345,9 +345,9 @@ define void @store_v8i16_with_folded_gep_offset(<8 x i16> %v, <8 x i16>* %p) {
; CHECK-LABEL: store_v8i16_with_unfolded_gep_negative_offset:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v8i16_with_unfolded_gep_negative_offset(<8 x i16> %v, <8 x i16>* %p) {
%s = getelementptr inbounds <8 x i16>, <8 x i16>* %p, i32 -1
store <8 x i16> %v , <8 x i16>* %s
@@ -357,9 +357,9 @@ define void @store_v8i16_with_unfolded_gep_negative_offset(<8 x i16> %v, <8 x i1
; CHECK-LABEL: store_v8i16_with_unfolded_offset:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v8i16_with_unfolded_offset(<8 x i16> %v, <8 x i16>* %p) {
%s = getelementptr inbounds <8 x i16>, <8 x i16>* %p, i32 -1
store <8 x i16> %v , <8 x i16>* %s
@@ -369,9 +369,9 @@ define void @store_v8i16_with_unfolded_offset(<8 x i16> %v, <8 x i16>* %p) {
; CHECK-LABEL: store_v8i16_with_unfolded_gep_offset:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v8i16_with_unfolded_gep_offset(<8 x i16> %v, <8 x i16>* %p) {
%s = getelementptr <8 x i16>, <8 x i16>* %p, i32 1
store <8 x i16> %v , <8 x i16>* %s
@@ -381,8 +381,8 @@ define void @store_v8i16_with_unfolded_gep_offset(<8 x i16> %v, <8 x i16>* %p) {
; CHECK-LABEL: store_v8i16_to_numeric_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.store 32($pop0):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.store 32($pop[[L0]]):p2align=0, $0{{$}}
define void @store_v8i16_to_numeric_address(<8 x i16> %v) {
%s = inttoptr i32 32 to <8 x i16>*
store <8 x i16> %v , <8 x i16>* %s
@@ -392,8 +392,8 @@ define void @store_v8i16_to_numeric_address(<8 x i16> %v) {
; CHECK-LABEL: store_v8i16_to_global_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.store gv_v8i16($pop0):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[R:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.store gv_v8i16($pop[[R]]):p2align=0, $0{{$}}
define void @store_v8i16_to_global_address(<8 x i16> %v) {
store <8 x i16> %v , <8 x i16>* @gv_v8i16
ret void
@@ -406,8 +406,8 @@ define void @store_v8i16_to_global_address(<8 x i16> %v) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 0($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <4 x i32> @load_v4i32(<4 x i32>* %p) {
%v = load <4 x i32>, <4 x i32>* %p
ret <4 x i32> %v
@@ -417,8 +417,8 @@ define <4 x i32> @load_v4i32(<4 x i32>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 16($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 16($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <4 x i32> @load_v4i32_with_folded_offset(<4 x i32>* %p) {
%q = ptrtoint <4 x i32>* %p to i32
%r = add nuw i32 %q, 16
@@ -431,8 +431,8 @@ define <4 x i32> @load_v4i32_with_folded_offset(<4 x i32>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 16($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 16($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <4 x i32> @load_v4i32_with_folded_gep_offset(<4 x i32>* %p) {
%s = getelementptr inbounds <4 x i32>, <4 x i32>* %p, i32 1
%v = load <4 x i32>, <4 x i32>* %s
@@ -443,10 +443,10 @@ define <4 x i32> @load_v4i32_with_folded_gep_offset(<4 x i32>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <4 x i32> @load_v4i32_with_unfolded_gep_negative_offset(<4 x i32>* %p) {
%s = getelementptr inbounds <4 x i32>, <4 x i32>* %p, i32 -1
%v = load <4 x i32>, <4 x i32>* %s
@@ -457,10 +457,10 @@ define <4 x i32> @load_v4i32_with_unfolded_gep_negative_offset(<4 x i32>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <4 x i32> @load_v4i32_with_unfolded_offset(<4 x i32>* %p) {
%q = ptrtoint <4 x i32>* %p to i32
%r = add nsw i32 %q, 16
@@ -473,10 +473,10 @@ define <4 x i32> @load_v4i32_with_unfolded_offset(<4 x i32>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <4 x i32> @load_v4i32_with_unfolded_gep_offset(<4 x i32>* %p) {
%s = getelementptr <4 x i32>, <4 x i32>* %p, i32 1
%v = load <4 x i32>, <4 x i32>* %s
@@ -486,9 +486,9 @@ define <4 x i32> @load_v4i32_with_unfolded_gep_offset(<4 x i32>* %p) {
; CHECK-LABEL: load_v4i32_from_numeric_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.load $push1=, 32($pop0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop1{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 32($pop[[L0]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <4 x i32> @load_v4i32_from_numeric_address() {
%s = inttoptr i32 32 to <4 x i32>*
%v = load <4 x i32>, <4 x i32>* %s
@@ -498,9 +498,9 @@ define <4 x i32> @load_v4i32_from_numeric_address() {
; CHECK-LABEL: load_v4i32_from_global_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.load $push1=, gv_v4i32($pop0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop1{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, gv_v4i32($pop[[L0]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
@gv_v4i32 = global <4 x i32> <i32 42, i32 42, i32 42, i32 42>
define <4 x i32> @load_v4i32_from_global_address() {
%v = load <4 x i32>, <4 x i32>* @gv_v4i32
@@ -541,9 +541,9 @@ define void @store_v4i32_with_folded_gep_offset(<4 x i32> %v, <4 x i32>* %p) {
; CHECK-LABEL: store_v4i32_with_unfolded_gep_negative_offset:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v4i32_with_unfolded_gep_negative_offset(<4 x i32> %v, <4 x i32>* %p) {
%s = getelementptr inbounds <4 x i32>, <4 x i32>* %p, i32 -1
store <4 x i32> %v , <4 x i32>* %s
@@ -553,9 +553,9 @@ define void @store_v4i32_with_unfolded_gep_negative_offset(<4 x i32> %v, <4 x i3
; CHECK-LABEL: store_v4i32_with_unfolded_offset:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v4i32_with_unfolded_offset(<4 x i32> %v, <4 x i32>* %p) {
%s = getelementptr inbounds <4 x i32>, <4 x i32>* %p, i32 -1
store <4 x i32> %v , <4 x i32>* %s
@@ -565,9 +565,9 @@ define void @store_v4i32_with_unfolded_offset(<4 x i32> %v, <4 x i32>* %p) {
; CHECK-LABEL: store_v4i32_with_unfolded_gep_offset:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v4i32_with_unfolded_gep_offset(<4 x i32> %v, <4 x i32>* %p) {
%s = getelementptr <4 x i32>, <4 x i32>* %p, i32 1
store <4 x i32> %v , <4 x i32>* %s
@@ -577,8 +577,8 @@ define void @store_v4i32_with_unfolded_gep_offset(<4 x i32> %v, <4 x i32>* %p) {
; CHECK-LABEL: store_v4i32_to_numeric_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.store 32($pop0):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.store 32($pop[[L0]]):p2align=0, $0{{$}}
define void @store_v4i32_to_numeric_address(<4 x i32> %v) {
%s = inttoptr i32 32 to <4 x i32>*
store <4 x i32> %v , <4 x i32>* %s
@@ -588,8 +588,8 @@ define void @store_v4i32_to_numeric_address(<4 x i32> %v) {
; CHECK-LABEL: store_v4i32_to_global_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.store gv_v4i32($pop0):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[R:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.store gv_v4i32($pop[[R]]):p2align=0, $0{{$}}
define void @store_v4i32_to_global_address(<4 x i32> %v) {
store <4 x i32> %v , <4 x i32>* @gv_v4i32
ret void
@@ -603,8 +603,8 @@ define void @store_v4i32_to_global_address(<4 x i32> %v) {
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 0($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <2 x i64> @load_v2i64(<2 x i64>* %p) {
%v = load <2 x i64>, <2 x i64>* %p
ret <2 x i64> %v
@@ -615,8 +615,8 @@ define <2 x i64> @load_v2i64(<2 x i64>* %p) {
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 16($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 16($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <2 x i64> @load_v2i64_with_folded_offset(<2 x i64>* %p) {
%q = ptrtoint <2 x i64>* %p to i32
%r = add nuw i32 %q, 16
@@ -630,8 +630,8 @@ define <2 x i64> @load_v2i64_with_folded_offset(<2 x i64>* %p) {
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 16($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 16($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <2 x i64> @load_v2i64_with_folded_gep_offset(<2 x i64>* %p) {
%s = getelementptr inbounds <2 x i64>, <2 x i64>* %p, i32 1
%v = load <2 x i64>, <2 x i64>* %s
@@ -643,10 +643,10 @@ define <2 x i64> @load_v2i64_with_folded_gep_offset(<2 x i64>* %p) {
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <2 x i64> @load_v2i64_with_unfolded_gep_negative_offset(<2 x i64>* %p) {
%s = getelementptr inbounds <2 x i64>, <2 x i64>* %p, i32 -1
%v = load <2 x i64>, <2 x i64>* %s
@@ -658,10 +658,10 @@ define <2 x i64> @load_v2i64_with_unfolded_gep_negative_offset(<2 x i64>* %p) {
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <2 x i64> @load_v2i64_with_unfolded_offset(<2 x i64>* %p) {
%q = ptrtoint <2 x i64>* %p to i32
%r = add nsw i32 %q, 16
@@ -675,10 +675,10 @@ define <2 x i64> @load_v2i64_with_unfolded_offset(<2 x i64>* %p) {
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <2 x i64> @load_v2i64_with_unfolded_gep_offset(<2 x i64>* %p) {
%s = getelementptr <2 x i64>, <2 x i64>* %p, i32 1
%v = load <2 x i64>, <2 x i64>* %s
@@ -689,9 +689,9 @@ define <2 x i64> @load_v2i64_with_unfolded_gep_offset(<2 x i64>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.load $push1=, 32($pop0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop1{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 32($pop[[L0]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <2 x i64> @load_v2i64_from_numeric_address() {
%s = inttoptr i32 32 to <2 x i64>*
%v = load <2 x i64>, <2 x i64>* %s
@@ -702,9 +702,9 @@ define <2 x i64> @load_v2i64_from_numeric_address() {
; NO-SIMD128-NOT: v128
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.load $push1=, gv_v2i64($pop0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop1{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, gv_v2i64($pop[[L0]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
@gv_v2i64 = global <2 x i64> <i64 42, i64 42>
define <2 x i64> @load_v2i64_from_global_address() {
%v = load <2 x i64>, <2 x i64>* @gv_v2i64
@@ -749,9 +749,9 @@ define void @store_v2i64_with_folded_gep_offset(<2 x i64> %v, <2 x i64>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v2i64_with_unfolded_gep_negative_offset(<2 x i64> %v, <2 x i64>* %p) {
%s = getelementptr inbounds <2 x i64>, <2 x i64>* %p, i32 -1
store <2 x i64> %v , <2 x i64>* %s
@@ -762,9 +762,9 @@ define void @store_v2i64_with_unfolded_gep_negative_offset(<2 x i64> %v, <2 x i6
; NO-SIMD128-NOT: v128
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v2i64_with_unfolded_offset(<2 x i64> %v, <2 x i64>* %p) {
%s = getelementptr inbounds <2 x i64>, <2 x i64>* %p, i32 -1
store <2 x i64> %v , <2 x i64>* %s
@@ -775,9 +775,9 @@ define void @store_v2i64_with_unfolded_offset(<2 x i64> %v, <2 x i64>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v2i64_with_unfolded_gep_offset(<2 x i64> %v, <2 x i64>* %p) {
%s = getelementptr <2 x i64>, <2 x i64>* %p, i32 1
store <2 x i64> %v , <2 x i64>* %s
@@ -788,8 +788,8 @@ define void @store_v2i64_with_unfolded_gep_offset(<2 x i64> %v, <2 x i64>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.store 32($pop0):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.store 32($pop[[L0]]):p2align=0, $0{{$}}
define void @store_v2i64_to_numeric_address(<2 x i64> %v) {
%s = inttoptr i32 32 to <2 x i64>*
store <2 x i64> %v , <2 x i64>* %s
@@ -800,8 +800,8 @@ define void @store_v2i64_to_numeric_address(<2 x i64> %v) {
; NO-SIMD128-NOT: v128
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.store gv_v2i64($pop0):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[R:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.store gv_v2i64($pop[[R]]):p2align=0, $0{{$}}
define void @store_v2i64_to_global_address(<2 x i64> %v) {
store <2 x i64> %v , <2 x i64>* @gv_v2i64
ret void
@@ -814,8 +814,8 @@ define void @store_v2i64_to_global_address(<2 x i64> %v) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 0($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <4 x float> @load_v4f32(<4 x float>* %p) {
%v = load <4 x float>, <4 x float>* %p
ret <4 x float> %v
@@ -825,8 +825,8 @@ define <4 x float> @load_v4f32(<4 x float>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 16($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 16($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <4 x float> @load_v4f32_with_folded_offset(<4 x float>* %p) {
%q = ptrtoint <4 x float>* %p to i32
%r = add nuw i32 %q, 16
@@ -839,8 +839,8 @@ define <4 x float> @load_v4f32_with_folded_offset(<4 x float>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 16($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 16($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <4 x float> @load_v4f32_with_folded_gep_offset(<4 x float>* %p) {
%s = getelementptr inbounds <4 x float>, <4 x float>* %p, i32 1
%v = load <4 x float>, <4 x float>* %s
@@ -851,10 +851,10 @@ define <4 x float> @load_v4f32_with_folded_gep_offset(<4 x float>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <4 x float> @load_v4f32_with_unfolded_gep_negative_offset(<4 x float>* %p) {
%s = getelementptr inbounds <4 x float>, <4 x float>* %p, i32 -1
%v = load <4 x float>, <4 x float>* %s
@@ -865,10 +865,10 @@ define <4 x float> @load_v4f32_with_unfolded_gep_negative_offset(<4 x float>* %p
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <4 x float> @load_v4f32_with_unfolded_offset(<4 x float>* %p) {
%q = ptrtoint <4 x float>* %p to i32
%r = add nsw i32 %q, 16
@@ -881,10 +881,10 @@ define <4 x float> @load_v4f32_with_unfolded_offset(<4 x float>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <4 x float> @load_v4f32_with_unfolded_gep_offset(<4 x float>* %p) {
%s = getelementptr <4 x float>, <4 x float>* %p, i32 1
%v = load <4 x float>, <4 x float>* %s
@@ -894,9 +894,9 @@ define <4 x float> @load_v4f32_with_unfolded_gep_offset(<4 x float>* %p) {
; CHECK-LABEL: load_v4f32_from_numeric_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.load $push1=, 32($pop0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop1{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 32($pop[[L0]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <4 x float> @load_v4f32_from_numeric_address() {
%s = inttoptr i32 32 to <4 x float>*
%v = load <4 x float>, <4 x float>* %s
@@ -906,9 +906,9 @@ define <4 x float> @load_v4f32_from_numeric_address() {
; CHECK-LABEL: load_v4f32_from_global_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.load $push1=, gv_v4f32($pop0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop1{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, gv_v4f32($pop[[L0]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
@gv_v4f32 = global <4 x float> <float 42., float 42., float 42., float 42.>
define <4 x float> @load_v4f32_from_global_address() {
%v = load <4 x float>, <4 x float>* @gv_v4f32
@@ -949,9 +949,9 @@ define void @store_v4f32_with_folded_gep_offset(<4 x float> %v, <4 x float>* %p)
; CHECK-LABEL: store_v4f32_with_unfolded_gep_negative_offset:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v4f32_with_unfolded_gep_negative_offset(<4 x float> %v, <4 x float>* %p) {
%s = getelementptr inbounds <4 x float>, <4 x float>* %p, i32 -1
store <4 x float> %v , <4 x float>* %s
@@ -961,9 +961,9 @@ define void @store_v4f32_with_unfolded_gep_negative_offset(<4 x float> %v, <4 x
; CHECK-LABEL: store_v4f32_with_unfolded_offset:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v4f32_with_unfolded_offset(<4 x float> %v, <4 x float>* %p) {
%s = getelementptr inbounds <4 x float>, <4 x float>* %p, i32 -1
store <4 x float> %v , <4 x float>* %s
@@ -973,9 +973,9 @@ define void @store_v4f32_with_unfolded_offset(<4 x float> %v, <4 x float>* %p) {
; CHECK-LABEL: store_v4f32_with_unfolded_gep_offset:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v4f32_with_unfolded_gep_offset(<4 x float> %v, <4 x float>* %p) {
%s = getelementptr <4 x float>, <4 x float>* %p, i32 1
store <4 x float> %v , <4 x float>* %s
@@ -985,8 +985,8 @@ define void @store_v4f32_with_unfolded_gep_offset(<4 x float> %v, <4 x float>* %
; CHECK-LABEL: store_v4f32_to_numeric_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.store 32($pop0):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.store 32($pop[[L0]]):p2align=0, $0{{$}}
define void @store_v4f32_to_numeric_address(<4 x float> %v) {
%s = inttoptr i32 32 to <4 x float>*
store <4 x float> %v , <4 x float>* %s
@@ -996,8 +996,8 @@ define void @store_v4f32_to_numeric_address(<4 x float> %v) {
; CHECK-LABEL: store_v4f32_to_global_address:
; NO-SIMD128-NOT: v128
; SIMD128-NEXT: .param v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.store gv_v4f32($pop0):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[R:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.store gv_v4f32($pop[[R]]):p2align=0, $0{{$}}
define void @store_v4f32_to_global_address(<4 x float> %v) {
store <4 x float> %v , <4 x float>* @gv_v4f32
ret void
@@ -1011,8 +1011,8 @@ define void @store_v4f32_to_global_address(<4 x float> %v) {
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 0($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <2 x double> @load_v2f64(<2 x double>* %p) {
%v = load <2 x double>, <2 x double>* %p
ret <2 x double> %v
@@ -1023,8 +1023,8 @@ define <2 x double> @load_v2f64(<2 x double>* %p) {
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 16($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 16($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <2 x double> @load_v2f64_with_folded_offset(<2 x double>* %p) {
%q = ptrtoint <2 x double>* %p to i32
%r = add nuw i32 %q, 16
@@ -1038,8 +1038,8 @@ define <2 x double> @load_v2f64_with_folded_offset(<2 x double>* %p) {
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: v128.load $push0=, 16($0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 16($0):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <2 x double> @load_v2f64_with_folded_gep_offset(<2 x double>* %p) {
%s = getelementptr inbounds <2 x double>, <2 x double>* %p, i32 1
%v = load <2 x double>, <2 x double>* %s
@@ -1051,10 +1051,10 @@ define <2 x double> @load_v2f64_with_folded_gep_offset(<2 x double>* %p) {
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <2 x double> @load_v2f64_with_unfolded_gep_negative_offset(<2 x double>* %p) {
%s = getelementptr inbounds <2 x double>, <2 x double>* %p, i32 -1
%v = load <2 x double>, <2 x double>* %s
@@ -1066,10 +1066,10 @@ define <2 x double> @load_v2f64_with_unfolded_gep_negative_offset(<2 x double>*
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <2 x double> @load_v2f64_with_unfolded_offset(<2 x double>* %p) {
%q = ptrtoint <2 x double>* %p to i32
%r = add nsw i32 %q, 16
@@ -1083,10 +1083,10 @@ define <2 x double> @load_v2f64_with_unfolded_offset(<2 x double>* %p) {
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param i32{{$}}
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $0, $pop0{{$}}
-; SIMD128-NEXT: v128.load $push2=, 0($pop1):p2align=0{{$}}
-; SIMD128-NEXT: return $pop2{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[L1:[0-9]+]]=, $0, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 0($pop[[L1]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <2 x double> @load_v2f64_with_unfolded_gep_offset(<2 x double>* %p) {
%s = getelementptr <2 x double>, <2 x double>* %p, i32 1
%v = load <2 x double>, <2 x double>* %s
@@ -1097,9 +1097,9 @@ define <2 x double> @load_v2f64_with_unfolded_gep_offset(<2 x double>* %p) {
; NO-SIMD128-NOT: v128
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.load $push1=, 32($pop0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop1{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, 32($pop[[L0]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
define <2 x double> @load_v2f64_from_numeric_address() {
%s = inttoptr i32 32 to <2 x double>*
%v = load <2 x double>, <2 x double>* %s
@@ -1110,9 +1110,9 @@ define <2 x double> @load_v2f64_from_numeric_address() {
; NO-SIMD128-NOT: v128
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .result v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.load $push1=, gv_v2f64($pop0):p2align=0{{$}}
-; SIMD128-NEXT: return $pop1{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.load $push[[R:[0-9]+]]=, gv_v2f64($pop[[L0]]):p2align=0{{$}}
+; SIMD128-NEXT: return $pop[[R]]{{$}}
@gv_v2f64 = global <2 x double> <double 42., double 42.>
define <2 x double> @load_v2f64_from_global_address() {
%v = load <2 x double>, <2 x double>* @gv_v2f64
@@ -1157,9 +1157,9 @@ define void @store_v2f64_with_folded_gep_offset(<2 x double> %v, <2 x double>* %
; NO-SIMD128-NOT: v128
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v2f64_with_unfolded_gep_negative_offset(<2 x double> %v, <2 x double>* %p) {
%s = getelementptr inbounds <2 x double>, <2 x double>* %p, i32 -1
store <2 x double> %v , <2 x double>* %s
@@ -1170,9 +1170,9 @@ define void @store_v2f64_with_unfolded_gep_negative_offset(<2 x double> %v, <2 x
; NO-SIMD128-NOT: v128
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, -16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, -16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v2f64_with_unfolded_offset(<2 x double> %v, <2 x double>* %p) {
%s = getelementptr inbounds <2 x double>, <2 x double>* %p, i32 -1
store <2 x double> %v , <2 x double>* %s
@@ -1183,9 +1183,9 @@ define void @store_v2f64_with_unfolded_offset(<2 x double> %v, <2 x double>* %p)
; NO-SIMD128-NOT: v128
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param v128, i32{{$}}
-; SIMD128-NEXT: i32.const $push0=, 16{{$}}
-; SIMD128-NEXT: i32.add $push1=, $1, $pop0{{$}}
-; SIMD128-NEXT: v128.store 0($pop1):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 16{{$}}
+; SIMD128-NEXT: i32.add $push[[R:[0-9]+]]=, $1, $pop[[L0]]{{$}}
+; SIMD128-NEXT: v128.store 0($pop[[R]]):p2align=0, $0{{$}}
define void @store_v2f64_with_unfolded_gep_offset(<2 x double> %v, <2 x double>* %p) {
%s = getelementptr <2 x double>, <2 x double>* %p, i32 1
store <2 x double> %v , <2 x double>* %s
@@ -1196,8 +1196,8 @@ define void @store_v2f64_with_unfolded_gep_offset(<2 x double> %v, <2 x double>*
; NO-SIMD128-NOT: v128
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.store 32($pop0):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[L0:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.store 32($pop[[L0]]):p2align=0, $0{{$}}
define void @store_v2f64_to_numeric_address(<2 x double> %v) {
%s = inttoptr i32 32 to <2 x double>*
store <2 x double> %v , <2 x double>* %s
@@ -1208,8 +1208,8 @@ define void @store_v2f64_to_numeric_address(<2 x double> %v) {
; NO-SIMD128-NOT: v128
; SIMD128-VM-NOT: v128
; SIMD128-NEXT: .param v128{{$}}
-; SIMD128-NEXT: i32.const $push0=, 0{{$}}
-; SIMD128-NEXT: v128.store gv_v2f64($pop0):p2align=0, $0{{$}}
+; SIMD128-NEXT: i32.const $push[[R:[0-9]+]]=, 0{{$}}
+; SIMD128-NEXT: v128.store gv_v2f64($pop[[R]]):p2align=0, $0{{$}}
define void @store_v2f64_to_global_address(<2 x double> %v) {
store <2 x double> %v , <2 x double>* @gv_v2f64
ret void
OpenPOWER on IntegriCloud