1*b41d22dbSChen Zheng; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2*b41d22dbSChen Zheng; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu -global-isel -o - \ 3*b41d22dbSChen Zheng; RUN: -ppc-vsr-nums-as-vr -ppc-asm-full-reg-names -verify-machineinstrs < %s | FileCheck %s 4*b41d22dbSChen Zheng 5*b41d22dbSChen Zhengdefine signext i32 @load_signext_i32(ptr %ptr) { 6*b41d22dbSChen Zheng; CHECK-LABEL: load_signext_i32: 7*b41d22dbSChen Zheng; CHECK: # %bb.0: # %entry 8*b41d22dbSChen Zheng; CHECK-NEXT: lwa r3, 0(r3) 9*b41d22dbSChen Zheng; CHECK-NEXT: blr 10*b41d22dbSChen Zhengentry: 11*b41d22dbSChen Zheng %ret = load i32, ptr %ptr, align 4 12*b41d22dbSChen Zheng ret i32 %ret 13*b41d22dbSChen Zheng} 14*b41d22dbSChen Zheng 15*b41d22dbSChen Zhengdefine zeroext i32 @load_zeroext_i32(ptr %ptr) { 16*b41d22dbSChen Zheng; CHECK-LABEL: load_zeroext_i32: 17*b41d22dbSChen Zheng; CHECK: # %bb.0: # %entry 18*b41d22dbSChen Zheng; CHECK-NEXT: lwz r3, 0(r3) 19*b41d22dbSChen Zheng; CHECK-NEXT: blr 20*b41d22dbSChen Zhengentry: 21*b41d22dbSChen Zheng %ret = load i32, ptr %ptr, align 4 22*b41d22dbSChen Zheng ret i32 %ret 23*b41d22dbSChen Zheng} 24*b41d22dbSChen Zheng 25*b41d22dbSChen Zhengdefine float @load_float(ptr %ptr) { 26*b41d22dbSChen Zheng; CHECK-LABEL: load_float: 27*b41d22dbSChen Zheng; CHECK: # %bb.0: # %entry 28*b41d22dbSChen Zheng; CHECK-NEXT: lfs f1, 0(r3) 29*b41d22dbSChen Zheng; CHECK-NEXT: blr 30*b41d22dbSChen Zhengentry: 31*b41d22dbSChen Zheng %ret = load float, ptr %ptr, align 4 32*b41d22dbSChen Zheng ret float %ret 33*b41d22dbSChen Zheng} 34*b41d22dbSChen Zheng 35*b41d22dbSChen Zhengdefine void @store_i32(ptr %p) { 36*b41d22dbSChen Zheng; CHECK-LABEL: store_i32: 37*b41d22dbSChen Zheng; CHECK: # %bb.0: # %entry 38*b41d22dbSChen Zheng; CHECK-NEXT: li r4, 100 39*b41d22dbSChen Zheng; CHECK-NEXT: stw r4, 0(r3) 40*b41d22dbSChen Zheng; CHECK-NEXT: blr 41*b41d22dbSChen Zhengentry: 42*b41d22dbSChen Zheng store i32 100, ptr %p, align 4 43*b41d22dbSChen Zheng ret void 44*b41d22dbSChen Zheng} 45*b41d22dbSChen Zheng 46*b41d22dbSChen Zhengdefine void @store_float(ptr %ptr, float %a) { 47*b41d22dbSChen Zheng; CHECK-LABEL: store_float: 48*b41d22dbSChen Zheng; CHECK: # %bb.0: # %entry 49*b41d22dbSChen Zheng; CHECK-NEXT: stfs f1, 0(r3) 50*b41d22dbSChen Zheng; CHECK-NEXT: blr 51*b41d22dbSChen Zhengentry: 52*b41d22dbSChen Zheng store float %a, ptr %ptr, align 4 53*b41d22dbSChen Zheng ret void 54*b41d22dbSChen Zheng} 55