Skip to content

Commit

Permalink
[WebAssembly] Restore slashes in SIMD conversion names
Browse files Browse the repository at this point in the history
Summary: Depends on D52372 and D52442.

Reviewers: aheejin, dschuff, aardappel

Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits

Differential Revision: https://reviews.llvm.org/D52512

llvm-svn: 343558
  • Loading branch information
tlively committed Oct 2, 2018
1 parent 9d34307 commit 6f77811
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 44 deletions.
16 changes: 8 additions & 8 deletions llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
Original file line number Diff line number Diff line change
Expand Up @@ -387,14 +387,14 @@ defm "" : SIMDAbs<v2f64, "f64x2", 128>;
defm "" : SIMDSqrt<v4f32, "f32x4", 141>;
defm "" : SIMDSqrt<v2f64, "f64x2", 142>;

defm "" : SIMDConvert<v4f32, v4i32, sint_to_fp, "f32x4.convert_s?i32x4", 143>;
defm "" : SIMDConvert<v4f32, v4i32, uint_to_fp, "f32x4.convert_u?i32x4", 144>;
defm "" : SIMDConvert<v2f64, v2i64, sint_to_fp, "f64x2.convert_s?i64x2", 145>;
defm "" : SIMDConvert<v2f64, v2i64, uint_to_fp, "f64x2.convert_u?i64x2", 146>;
defm "" : SIMDConvert<v4i32, v4f32, fp_to_sint, "i32x4.trunc_saturating_s?f32x4", 143>;
defm "" : SIMDConvert<v4i32, v4f32, fp_to_uint, "i32x4.trunc_saturating_u?f32x4", 144>;
defm "" : SIMDConvert<v2i64, v2f64, fp_to_sint, "i64x2.trunc_saturating_s?f64x2", 145>;
defm "" : SIMDConvert<v2i64, v2f64, fp_to_uint, "i64x2.trunc_saturating_u?f64x2", 146>;
defm "" : SIMDConvert<v4f32, v4i32, sint_to_fp, "f32x4.convert_s/i32x4", 143>;
defm "" : SIMDConvert<v4f32, v4i32, uint_to_fp, "f32x4.convert_u/i32x4", 144>;
defm "" : SIMDConvert<v2f64, v2i64, sint_to_fp, "f64x2.convert_s/i64x2", 145>;
defm "" : SIMDConvert<v2f64, v2i64, uint_to_fp, "f64x2.convert_u/i64x2", 146>;
defm "" : SIMDConvert<v4i32, v4f32, fp_to_sint, "i32x4.trunc_sat_s/f32x4", 147>;
defm "" : SIMDConvert<v4i32, v4f32, fp_to_uint, "i32x4.trunc_sat_u/f32x4", 148>;
defm "" : SIMDConvert<v2i64, v2f64, fp_to_sint, "i64x2.trunc_sat_s/f64x2", 149>;
defm "" : SIMDConvert<v2i64, v2f64, fp_to_uint, "i64x2.trunc_sat_u/f64x2", 150>;

} // Defs = [ARGUMENTS]

Expand Down
40 changes: 20 additions & 20 deletions llvm/test/CodeGen/WebAssembly/simd-conversions.ll
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ target triple = "wasm32-unknown-unknown"
; NO-SIMD128-NOT: i32x4
; SIMD128-NEXT: .param v128{{$}}
; SIMD128-NEXT: .result v128{{$}}
; SIMD128-NEXT: f32x4.convert_s?i32x4 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: f32x4.convert_s/i32x4 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: return $pop[[R]]
define <4 x float> @convert_s_v4f32(<4 x i32> %x) {
%a = sitofp <4 x i32> %x to <4 x float>
Expand All @@ -22,7 +22,7 @@ define <4 x float> @convert_s_v4f32(<4 x i32> %x) {
; NO-SIMD128-NOT: i32x4
; SIMD128-NEXT: .param v128{{$}}
; SIMD128-NEXT: .result v128{{$}}
; SIMD128-NEXT: f32x4.convert_u?i32x4 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: f32x4.convert_u/i32x4 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: return $pop[[R]]
define <4 x float> @convert_u_v4f32(<4 x i32> %x) {
%a = uitofp <4 x i32> %x to <4 x float>
Expand All @@ -31,10 +31,10 @@ define <4 x float> @convert_u_v4f32(<4 x i32> %x) {

; CHECK-LABEL: convert_s_v2f64:
; NO-SIMD128-NOT: i64x2
; SIMD128-VM-NOT: f64x2.convert_s?i64x2
; SIMD128-VM-NOT: f64x2.convert_s/i64x2
; SIMD128-NEXT: .param v128{{$}}
; SIMD128-NEXT: .result v128{{$}}
; SIMD128-NEXT: f64x2.convert_s?i64x2 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: f64x2.convert_s/i64x2 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: return $pop[[R]]
define <2 x double> @convert_s_v2f64(<2 x i64> %x) {
%a = sitofp <2 x i64> %x to <2 x double>
Expand All @@ -43,58 +43,58 @@ define <2 x double> @convert_s_v2f64(<2 x i64> %x) {

; CHECK-LABEL: convert_u_v2f64:
; NO-SIMD128-NOT: i64x2
; SIMD128-VM-NOT: f64x2.convert_u?i64x2
; SIMD128-VM-NOT: f64x2.convert_u/i64x2
; SIMD128-NEXT: .param v128{{$}}
; SIMD128-NEXT: .result v128{{$}}
; SIMD128-NEXT: f64x2.convert_u?i64x2 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: f64x2.convert_u/i64x2 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: return $pop[[R]]
define <2 x double> @convert_u_v2f64(<2 x i64> %x) {
%a = uitofp <2 x i64> %x to <2 x double>
ret <2 x double> %a
}

; CHECK-LABEL: trunc_saturating_s_v4i32:
; CHECK-LABEL: trunc_sat_s_v4i32:
; NO-SIMD128-NOT: f32x4
; SIMD128-NEXT: .param v128{{$}}
; SIMD128-NEXT: .result v128{{$}}
; SIMD128-NEXT: i32x4.trunc_saturating_s?f32x4 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: i32x4.trunc_sat_s/f32x4 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: return $pop[[R]]
define <4 x i32> @trunc_saturating_s_v4i32(<4 x float> %x) {
define <4 x i32> @trunc_sat_s_v4i32(<4 x float> %x) {
%a = fptosi <4 x float> %x to <4 x i32>
ret <4 x i32> %a
}

; CHECK-LABEL: trunc_saturating_u_v4i32:
; CHECK-LABEL: trunc_sat_u_v4i32:
; NO-SIMD128-NOT: f32x4
; SIMD128-NEXT: .param v128{{$}}
; SIMD128-NEXT: .result v128{{$}}
; SIMD128-NEXT: i32x4.trunc_saturating_u?f32x4 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: i32x4.trunc_sat_u/f32x4 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: return $pop[[R]]
define <4 x i32> @trunc_saturating_u_v4i32(<4 x float> %x) {
define <4 x i32> @trunc_sat_u_v4i32(<4 x float> %x) {
%a = fptoui <4 x float> %x to <4 x i32>
ret <4 x i32> %a
}

; CHECK-LABEL: trunc_saturating_s_v2i64:
; CHECK-LABEL: trunc_sat_s_v2i64:
; NO-SIMD128-NOT: f64x2
; SIMD128-VM-NOT: i64x2.trunc_saturating_s?f64x2
; SIMD128-VM-NOT: i64x2.trunc_sat_s/f64x2
; SIMD128-NEXT: .param v128{{$}}
; SIMD128-NEXT: .result v128{{$}}
; SIMD128-NEXT: i64x2.trunc_saturating_s?f64x2 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: i64x2.trunc_sat_s/f64x2 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: return $pop[[R]]
define <2 x i64> @trunc_saturating_s_v2i64(<2 x double> %x) {
define <2 x i64> @trunc_sat_s_v2i64(<2 x double> %x) {
%a = fptosi <2 x double> %x to <2 x i64>
ret <2 x i64> %a
}

; CHECK-LABEL: trunc_saturating_u_v2i64:
; CHECK-LABEL: trunc_sat_u_v2i64:
; NO-SIMD128-NOT: f64x2
; SIMD128-VM-NOT: i64x2.trunc_saturating_u?f64x2
; SIMD128-VM-NOT: i64x2.trunc_sat_u/f64x2
; SIMD128-NEXT: .param v128{{$}}
; SIMD128-NEXT: .result v128{{$}}
; SIMD128-NEXT: i64x2.trunc_saturating_u?f64x2 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: i64x2.trunc_sat_u/f64x2 $push[[R:[0-9]+]]=, $0
; SIMD128-NEXT: return $pop[[R]]
define <2 x i64> @trunc_saturating_u_v2i64(<2 x double> %x) {
define <2 x i64> @trunc_sat_u_v2i64(<2 x double> %x) {
%a = fptoui <2 x double> %x to <2 x i64>
ret <2 x i64> %a
}
32 changes: 16 additions & 16 deletions llvm/test/MC/WebAssembly/simd-encodings.s
Original file line number Diff line number Diff line change
Expand Up @@ -361,28 +361,28 @@
# CHECK: f64x2.sqrt # encoding: [0xfd,0x8e]
f64x2.sqrt

# CHECK: f32x4.convert_s?i32x4 # encoding: [0xfd,0x8f]
f32x4.convert_s?i32x4
# CHECK: f32x4.convert_s/i32x4 # encoding: [0xfd,0x8f]
f32x4.convert_s/i32x4

# CHECK: f32x4.convert_u?i32x4 # encoding: [0xfd,0x90]
f32x4.convert_u?i32x4
# CHECK: f32x4.convert_u/i32x4 # encoding: [0xfd,0x90]
f32x4.convert_u/i32x4

# CHECK: f64x2.convert_s?i64x2 # encoding: [0xfd,0x91]
f64x2.convert_s?i64x2
# CHECK: f64x2.convert_s/i64x2 # encoding: [0xfd,0x91]
f64x2.convert_s/i64x2

# CHECK: f64x2.convert_u?i64x2 # encoding: [0xfd,0x92]
f64x2.convert_u?i64x2
# CHECK: f64x2.convert_u/i64x2 # encoding: [0xfd,0x92]
f64x2.convert_u/i64x2

# CHECK? i32x4.trunc_saturating_s?f32x4 # encoding: [0xfd,0x93]
i32x4.trunc_saturating_s?f32x4
# CHECK: i32x4.trunc_sat_s/f32x4 # encoding: [0xfd,0x93]
i32x4.trunc_sat_s/f32x4

# CHECK? i32x4.trunc_saturating_u?f32x4 # encoding: [0xfd,0x94]
i32x4.trunc_saturating_u?f32x4
# CHECK: i32x4.trunc_sat_u/f32x4 # encoding: [0xfd,0x94]
i32x4.trunc_sat_u/f32x4

# CHECK? i64x2.trunc_saturating_s?f64x2 # encoding: [0xfd,0x95]
i64x2.trunc_saturating_s?f64x2
# CHECK: i64x2.trunc_sat_s/f64x2 # encoding: [0xfd,0x95]
i64x2.trunc_sat_s/f64x2

# CHECK? i64x2.trunc_saturating_u?f64x2 # encoding: [0xfd,0x96]
i64x2.trunc_saturating_u?f64x2
# CHECK: i64x2.trunc_sat_u/f64x2 # encoding: [0xfd,0x96]
i64x2.trunc_sat_u/f64x2

end_function

0 comments on commit 6f77811

Please sign in to comment.