[MLIR] Extend MPI dialect (#123255)
[llvm-project.git] / llvm / test / CodeGen / WebAssembly / simd-asm-pred.ll
blobf022c3e745125f71b62dbf12d7edfa9899d86729
1 ; RUN: llc < %s -verify-machineinstrs -mattr=+relaxed-simd | FileCheck %s
3 ; Test that setting "relaxed-simd" target feature set also implies 'simd128' in
4 ; AssemblerPredicate, which is used to verify instructions in AsmPrinter.
6 target triple = "wasm32-unknown-unknown"
8 declare <2 x i64> @llvm.wasm.relaxed.laneselect.v2i64(<2 x i64>, <2 x i64>, <2 x i64>)
10 ; The compiled result of this function uses LOCAL_GET_V128, which is predicated
11 ; on the 'simd128' feature. We should be able to compile this when only
12 ; 'relaxed-simd' is set, which implies 'simd128'.
13 define <2 x i64> @test(<2 x i64>, <2 x i64>, <2 x i64>) #0 {
14 ; CHECK-LABEL: test:
15 ; CHECK:         .functype  test (v128, v128, v128) -> (v128)
16 ; CHECK-NEXT:  # %bb.0:
17 ; CHECK-NEXT:    local.get  0
18 ; CHECK-NEXT:    local.get  1
19 ; CHECK-NEXT:    local.get  2
20 ; CHECK-NEXT:    i64x2.relaxed_laneselect
21 start:
22   %_4 = tail call <2 x i64> @llvm.wasm.relaxed.laneselect.v2i64(<2 x i64> %0, <2 x i64> %1, <2 x i64> %2) #3
23   ret <2 x i64> %_4