brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.2 KiB · 5be5e05 Raw
147 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs -mcpu=pwr8 -mattr=+vsx -ppc-vsr-nums-as-vr \3; RUN:   -ppc-asm-full-reg-names -mtriple=powerpc64le-unknown-linux-gnu < %s \4; RUN:   | FileCheck %s5 6; RUN: llc -verify-machineinstrs -mcpu=pwr8 -mattr=+vsx -ppc-vsr-nums-as-vr \7; RUN:   -ppc-asm-full-reg-names -mtriple=powerpc64-unknown-linux-gnu < %s \8; RUN:   | FileCheck %s --check-prefix=CHECK-P8-BE9 10; RUN: llc -verify-machineinstrs -mcpu=pwr9 -mattr=-power9-vector -ppc-vsr-nums-as-vr \11; RUN:   -ppc-asm-full-reg-names -mtriple=powerpc64le-unknown-linux-gnu < %s \12; RUN:   | FileCheck --check-prefix=CHECK-P9-VECTOR %s13 14; RUN: llc -verify-machineinstrs -mcpu=pwr9 -ppc-vsr-nums-as-vr -ppc-asm-full-reg-names \15; RUN:   -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s \16; RUN:   --check-prefix=CHECK-P9 --implicit-check-not xxswapd17 18define <2 x double> @testi0(ptr %p1, ptr %p2) {19; CHECK-LABEL: testi0:20; CHECK:       # %bb.0:21; CHECK-NEXT:    lxvd2x vs0, 0, r322; CHECK-NEXT:    lfd f1, 0(r4)23; CHECK-NEXT:    xxswapd vs0, vs024; CHECK-NEXT:    xxmrghd v2, vs0, vs125; CHECK-NEXT:    blr26;27; CHECK-P8-BE-LABEL: testi0:28; CHECK-P8-BE:       # %bb.0:29; CHECK-P8-BE-NEXT:    lxvd2x vs0, 0, r330; CHECK-P8-BE-NEXT:    lfd f1, 0(r4)31; CHECK-P8-BE-NEXT:    xxpermdi v2, vs1, vs0, 132; CHECK-P8-BE-NEXT:    blr33;34; CHECK-P9-VECTOR-LABEL: testi0:35; CHECK-P9-VECTOR:       # %bb.0:36; CHECK-P9-VECTOR-NEXT:    lxvd2x vs0, 0, r337; CHECK-P9-VECTOR-NEXT:    lfd f1, 0(r4)38; CHECK-P9-VECTOR-NEXT:    xxswapd vs0, vs039; CHECK-P9-VECTOR-NEXT:    xxmrghd v2, vs0, vs140; CHECK-P9-VECTOR-NEXT:    blr41;42; CHECK-P9-LABEL: testi0:43; CHECK-P9:       # %bb.0:44; CHECK-P9-NEXT:    lxv vs0, 0(r3)45; CHECK-P9-NEXT:    lfd f1, 0(r4)46; CHECK-P9-NEXT:    xxmrghd v2, vs0, vs147; CHECK-P9-NEXT:    blr48  %v = load <2 x double>, ptr %p149  %s = load double, ptr %p250  %r = insertelement <2 x double> %v, double %s, i32 051  ret <2 x double> %r52 53 54}55 56define <2 x double> @testi1(ptr %p1, ptr %p2) {57; CHECK-LABEL: testi1:58; CHECK:       # %bb.0:59; CHECK-NEXT:    lxvd2x vs0, 0, r360; CHECK-NEXT:    lfd f1, 0(r4)61; CHECK-NEXT:    xxswapd vs0, vs062; CHECK-NEXT:    xxpermdi v2, vs1, vs0, 163; CHECK-NEXT:    blr64;65; CHECK-P8-BE-LABEL: testi1:66; CHECK-P8-BE:       # %bb.0:67; CHECK-P8-BE-NEXT:    lxvd2x vs0, 0, r368; CHECK-P8-BE-NEXT:    lfd f1, 0(r4)69; CHECK-P8-BE-NEXT:    xxmrghd v2, vs0, vs170; CHECK-P8-BE-NEXT:    blr71;72; CHECK-P9-VECTOR-LABEL: testi1:73; CHECK-P9-VECTOR:       # %bb.0:74; CHECK-P9-VECTOR-NEXT:    lxvd2x vs0, 0, r375; CHECK-P9-VECTOR-NEXT:    lfd f1, 0(r4)76; CHECK-P9-VECTOR-NEXT:    xxswapd vs0, vs077; CHECK-P9-VECTOR-NEXT:    xxpermdi v2, vs1, vs0, 178; CHECK-P9-VECTOR-NEXT:    blr79;80; CHECK-P9-LABEL: testi1:81; CHECK-P9:       # %bb.0:82; CHECK-P9-NEXT:    lxv vs0, 0(r3)83; CHECK-P9-NEXT:    lfd f1, 0(r4)84; CHECK-P9-NEXT:    xxpermdi v2, vs1, vs0, 185; CHECK-P9-NEXT:    blr86  %v = load <2 x double>, ptr %p187  %s = load double, ptr %p288  %r = insertelement <2 x double> %v, double %s, i32 189  ret <2 x double> %r90 91 92}93 94define double @teste0(ptr %p1) {95; CHECK-LABEL: teste0:96; CHECK:       # %bb.0:97; CHECK-NEXT:    lfd f1, 0(r3)98; CHECK-NEXT:    blr99;100; CHECK-P8-BE-LABEL: teste0:101; CHECK-P8-BE:       # %bb.0:102; CHECK-P8-BE-NEXT:    lfd f1, 0(r3)103; CHECK-P8-BE-NEXT:    blr104;105; CHECK-P9-VECTOR-LABEL: teste0:106; CHECK-P9-VECTOR:       # %bb.0:107; CHECK-P9-VECTOR-NEXT:    lfd f1, 0(r3)108; CHECK-P9-VECTOR-NEXT:    blr109;110; CHECK-P9-LABEL: teste0:111; CHECK-P9:       # %bb.0:112; CHECK-P9-NEXT:    lfd f1, 0(r3)113; CHECK-P9-NEXT:    blr114  %v = load <2 x double>, ptr %p1115  %r = extractelement <2 x double> %v, i32 0116  ret double %r117 118 119}120 121define double @teste1(ptr %p1) {122; CHECK-LABEL: teste1:123; CHECK:       # %bb.0:124; CHECK-NEXT:    lfd f1, 8(r3)125; CHECK-NEXT:    blr126;127; CHECK-P8-BE-LABEL: teste1:128; CHECK-P8-BE:       # %bb.0:129; CHECK-P8-BE-NEXT:    lfd f1, 8(r3)130; CHECK-P8-BE-NEXT:    blr131;132; CHECK-P9-VECTOR-LABEL: teste1:133; CHECK-P9-VECTOR:       # %bb.0:134; CHECK-P9-VECTOR-NEXT:    lfd f1, 8(r3)135; CHECK-P9-VECTOR-NEXT:    blr136;137; CHECK-P9-LABEL: teste1:138; CHECK-P9:       # %bb.0:139; CHECK-P9-NEXT:    lfd f1, 8(r3)140; CHECK-P9-NEXT:    blr141  %v = load <2 x double>, ptr %p1142  %r = extractelement <2 x double> %v, i32 1143  ret double %r144 145 146}147