79 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mcpu=pwr8 -verify-machineinstrs -ppc-vsr-nums-as-vr \3; RUN: -ppc-asm-full-reg-names -mtriple=powerpc64-ibm-aix-xcoff < %s | \4; RUN: FileCheck %s --check-prefix=AIX-P8-645; RUN: llc -mcpu=pwr8 -verify-machineinstrs -ppc-vsr-nums-as-vr \6; RUN: -ppc-asm-full-reg-names -mtriple=powerpc-ibm-aix-xcoff < %s | \7; RUN: FileCheck %s --check-prefix=AIX-P8-328; RUN: llc -mcpu=pwr9 -verify-machineinstrs -ppc-vsr-nums-as-vr \9; RUN: -ppc-asm-full-reg-names -mtriple=powerpc64-ibm-aix-xcoff < %s | \10; RUN: FileCheck %s --check-prefix=AIX-P9-6411; RUN: llc -mcpu=pwr9 -verify-machineinstrs -ppc-vsr-nums-as-vr \12; RUN: -ppc-asm-full-reg-names -mtriple=powerpc-ibm-aix-xcoff < %s | \13; RUN: FileCheck %s --check-prefix=AIX-P9-3214 15%d8 = type <8 x double>16%f1 = type <1 x float>17%f2 = type <2 x float>18%f4 = type <4 x float>19%f8 = type <8 x float>20%i4 = type <4 x i32>21 22define void @test_f2(ptr %P, ptr %Q, ptr %S) {23; AIX-P8-64-LABEL: test_f2:24; AIX-P8-64: # %bb.0:25; AIX-P8-64-NEXT: lfdx f0, 0, r326; AIX-P8-64-NEXT: lfdx f1, 0, r427; AIX-P8-64-NEXT: xvaddsp vs0, vs0, vs128; AIX-P8-64-NEXT: stfdx f0, 0, r529; AIX-P8-64-NEXT: blr30;31; AIX-P8-32-LABEL: test_f2:32; AIX-P8-32: # %bb.0:33; AIX-P8-32-NEXT: li r6, 434; AIX-P8-32-NEXT: lxsiwzx v3, 0, r335; AIX-P8-32-NEXT: lxsiwzx v4, 0, r436; AIX-P8-32-NEXT: lxsiwzx v2, r3, r637; AIX-P8-32-NEXT: vmrgow v2, v3, v238; AIX-P8-32-NEXT: lxsiwzx v3, r4, r639; AIX-P8-32-NEXT: vmrgow v3, v4, v340; AIX-P8-32-NEXT: xvaddsp vs0, v2, v341; AIX-P8-32-NEXT: xxsldwi vs1, vs0, vs0, 142; AIX-P8-32-NEXT: xscvspdpn f0, vs043; AIX-P8-32-NEXT: stfs f0, 0(r5)44; AIX-P8-32-NEXT: xscvspdpn f0, vs145; AIX-P8-32-NEXT: stfs f0, 4(r5)46; AIX-P8-32-NEXT: blr47;48; AIX-P9-64-LABEL: test_f2:49; AIX-P9-64: # %bb.0:50; AIX-P9-64-NEXT: lfd f0, 0(r3)51; AIX-P9-64-NEXT: lfd f1, 0(r4)52; AIX-P9-64-NEXT: xvaddsp vs0, vs0, vs153; AIX-P9-64-NEXT: stfd f0, 0(r5)54; AIX-P9-64-NEXT: blr55;56; AIX-P9-32-LABEL: test_f2:57; AIX-P9-32: # %bb.0:58; AIX-P9-32-NEXT: li r6, 459; AIX-P9-32-NEXT: lxsiwzx v3, 0, r360; AIX-P9-32-NEXT: lxsiwzx v4, 0, r461; AIX-P9-32-NEXT: lxsiwzx v2, r3, r662; AIX-P9-32-NEXT: vmrgow v2, v3, v263; AIX-P9-32-NEXT: lxsiwzx v3, r4, r664; AIX-P9-32-NEXT: vmrgow v3, v4, v365; AIX-P9-32-NEXT: xvaddsp vs0, v2, v366; AIX-P9-32-NEXT: xscvspdpn f1, vs067; AIX-P9-32-NEXT: xxsldwi vs0, vs0, vs0, 168; AIX-P9-32-NEXT: xscvspdpn f0, vs069; AIX-P9-32-NEXT: stfs f1, 0(r5)70; AIX-P9-32-NEXT: stfs f0, 4(r5)71; AIX-P9-32-NEXT: blr72 %p = load %f2, ptr %P73 %q = load %f2, ptr %Q74 %R = fadd %f2 %p, %q75 store %f2 %R, ptr %S76 ret void77}78 79