Index: llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td =================================================================== --- llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td +++ llvm/trunk/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td @@ -71,7 +71,7 @@ defm extract_i8x16 : ExtractPat; defm extract_i16x8 : ExtractPat; multiclass ExtractLaneExtended baseInst> { - defm "" : ExtractLane("extract_i8x16"#sign)>; defm "" : ExtractLane("extract_i16x8"#sign)>; Index: llvm/trunk/test/CodeGen/WebAssembly/simd.ll =================================================================== --- llvm/trunk/test/CodeGen/WebAssembly/simd.ll +++ llvm/trunk/test/CodeGen/WebAssembly/simd.ll @@ -37,7 +37,7 @@ ret <16 x i8> %res } -; CHECK-LABEL: const_splat_v16i8 +; CHECK-LABEL: const_splat_v16i8: ; SIMD128; i8x16.splat define <16 x i8> @const_splat_v16i8() { ret <16 x i8> %res } -; CHECK-LABEL: const_splat_v4i32 +; CHECK-LABEL: const_splat_v4i32: ; SIMD128; i32x4.splat define <4 x i32> @const_splat_v4i32() { ret <4 x i32> @@ -340,6 +340,12 @@ ret <2 x i64> %res } +; CHECK-LABEL: const_splat_v2i64: +; SIMD128; i64x2.splat +define <2 x i64> @const_splat_v2i64() { + ret <2 x i64> +} + ; CHECK-LABEL: extract_v2i64: ; NO-SIMD128-NOT: i64x2 ; SIMD128-VM-NOT: i64x2 @@ -364,10 +370,6 @@ ret <2 x i64> %res } -define <2 x i64> @const_splat_v2i64() { - ret <2 x i64> -} - ; CHECK-LABEL: build_v2i64: ; NO-SIMD128-NOT: i64x2 ; SIMD128-VM-NOT: i64x2