# RUN: llvm-mc -show-encoding -triple=wasm32-unknown-unknown -mattr=+reference-types < %s | FileCheck %s # RUN: llvm-mc -show-encoding -triple=wasm64-unknown-unknown -mattr=+reference-types < %s | FileCheck %s # CHECK-LABEL:ref_is_null: # CHECK: ref.is_null # encoding: [0xd1] ref_is_null: .functype ref_is_null () -> (i32, i32) ref.null_extern ref.is_null ref.null_func ref.is_null end_function # CHECK-LABEL: ref_null_test: # CHECK: ref.null_func # encoding: [0xd0,0x70] # CHECK: ref.null_extern # encoding: [0xd0,0x6f] ref_null_test: .functype ref_null_test () -> () ref.null_func drop ref.null_extern drop end_function # CHECK-LABEL: ref_sig_test_funcref: # CHECK-NEXT: .functype ref_sig_test_funcref (funcref) -> (funcref) ref_sig_test_funcref: .functype ref_sig_test_funcref (funcref) -> (funcref) local.get 0 end_function # CHECK-LABEL: ref_sig_test_externref: # CHECK-NEXT: .functype ref_sig_test_externref (externref) -> (externref) ref_sig_test_externref: .functype ref_sig_test_externref (externref) -> (externref) local.get 0 end_function # CHECK-LABEL: ref_select_test: # CHECK: funcref.select # encoding: [0x1b] # CHECK: externref.select # encoding: [0x1b] ref_select_test: .functype ref_select_test () -> () ref.null_func ref.null_func i32.const 0 funcref.select drop ref.null_extern ref.null_extern i32.const 0 externref.select drop end_function # CHECK-LABEL: ref_block_test: # CHECK: block funcref # CHECK: block externref ref_block_test: .functype ref_block_test () -> (externref, funcref) block funcref block externref ref.null_extern end_block ref.null_func end_block end_function