1; RUN: llc < %s -asm-verbose=false | FileCheck %s 2 3; Test that basic stores are assembled properly. 4 5target datalayout = "e-p:32:32-i64:64-n32:64-S128" 6target triple = "wasm32-unknown-unknown" 7 8; CHECK-LABEL: (func $sti32 9; CHECK-NEXT: (param i32) (param i32) 10; CHECK-NEXT: (set_local @0 (argument 1)) 11; CHECK-NEXT: (set_local @1 (argument 0)) 12; CHECK-NEXT: (store_i32 @1 @0) 13; CHECK-NEXT: (return) 14define void @sti32(i32 *%p, i32 %v) { 15 store i32 %v, i32* %p 16 ret void 17} 18 19; CHECK-LABEL: (func $sti64 20; CHECK-NEXT: (param i32) (param i64) 21; CHECK-NEXT: (set_local @0 (argument 1)) 22; CHECK-NEXT: (set_local @1 (argument 0)) 23; CHECK-NEXT: (store_i64 @1 @0) 24; CHECK-NEXT: (return) 25define void @sti64(i64 *%p, i64 %v) { 26 store i64 %v, i64* %p 27 ret void 28} 29 30; CHECK-LABEL: (func $stf32 31; CHECK-NEXT: (param i32) (param f32) 32; CHECK-NEXT: (set_local @0 (argument 1)) 33; CHECK-NEXT: (set_local @1 (argument 0)) 34; CHECK-NEXT: (store_f32 @1 @0) 35; CHECK-NEXT: (return) 36define void @stf32(float *%p, float %v) { 37 store float %v, float* %p 38 ret void 39} 40 41; CHECK-LABEL: (func $stf64 42; CHECK-NEXT: (param i32) (param f64) 43; CHECK-NEXT: (set_local @0 (argument 1)) 44; CHECK-NEXT: (set_local @1 (argument 0)) 45; CHECK-NEXT: (store_f64 @1 @0) 46; CHECK-NEXT: (return) 47define void @stf64(double *%p, double %v) { 48 store double %v, double* %p 49 ret void 50} 51