aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/CodeGen/PowerPC/vector-lrint.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/PowerPC/vector-lrint.ll')
-rw-r--r--llvm/test/CodeGen/PowerPC/vector-lrint.ll1588
1 files changed, 0 insertions, 1588 deletions
diff --git a/llvm/test/CodeGen/PowerPC/vector-lrint.ll b/llvm/test/CodeGen/PowerPC/vector-lrint.ll
index f437536..af5704b 100644
--- a/llvm/test/CodeGen/PowerPC/vector-lrint.ll
+++ b/llvm/test/CodeGen/PowerPC/vector-lrint.ll
@@ -9,10 +9,6 @@
; RUN: sed 's/iXLen/i32/g' %s | llc -mcpu=pwr8 -ppc-asm-full-reg-names \
; RUN: -ppc-vsr-nums-as-vr -mtriple=powerpc64le-unknown-unknown \
; RUN: -verify-machineinstrs | FileCheck %s
-; RUN: sed 's/iXLen/i32/g' %s | llc -mcpu=pwr8 -ppc-asm-full-reg-names \
-; RUN: -ppc-vsr-nums-as-vr -mtriple=powerpc64le-unknown-unknown \
-; RUN: -verify-machineinstrs --enable-unsafe-fp-math | \
-; RUN: FileCheck %s --check-prefixes=FAST
; FIXME: crash "Input type needs to be promoted!"
; SKIP: sed 's/iXLen/i64/g' %s | llc -ppc-asm-full-reg-names \
; SKIP: -ppc-vsr-nums-as-vr -mtriple=powerpc-unknown-unknown \
@@ -23,10 +19,6 @@
; RUN: sed 's/iXLen/i64/g' %s | llc -mcpu=pwr8 -ppc-asm-full-reg-names \
; RUN: -ppc-vsr-nums-as-vr -mtriple=powerpc64le-unknown-unknown \
; RUN: -verify-machineinstrs | FileCheck %s --check-prefixes=CHECK
-; RUN: sed 's/iXLen/i64/g' %s | llc -mcpu=pwr8 -ppc-asm-full-reg-names \
-; RUN: -ppc-vsr-nums-as-vr -mtriple=powerpc64le-unknown-unknown \
-; RUN: -verify-machineinstrs --enable-unsafe-fp-math | \
-; RUN: FileCheck %s --check-prefixes=FAST
define <1 x i64> @lrint_v1f16(<1 x half> %x) nounwind {
; BE-LABEL: lrint_v1f16:
@@ -62,23 +54,6 @@ define <1 x i64> @lrint_v1f16(<1 x half> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v1f16:
-; FAST: # %bb.0:
-; FAST-NEXT: mflr r0
-; FAST-NEXT: stdu r1, -32(r1)
-; FAST-NEXT: std r0, 48(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fctid f0, f1
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: addi r1, r1, 32
-; FAST-NEXT: ld r0, 16(r1)
-; FAST-NEXT: mtlr r0
-; FAST-NEXT: blr
%a = call <1 x i64> @llvm.lrint.v1i64.v1f16(<1 x half> %x)
ret <1 x i64> %a
}
@@ -162,41 +137,6 @@ define <2 x i64> @lrint_v2f16(<2 x half> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v2f16:
-; FAST: # %bb.0:
-; FAST-NEXT: mflr r0
-; FAST-NEXT: stfd f30, -16(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f31, -8(r1) # 8-byte Folded Spill
-; FAST-NEXT: stdu r1, -48(r1)
-; FAST-NEXT: fmr f31, f1
-; FAST-NEXT: fmr f1, f2
-; FAST-NEXT: std r0, 64(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f30, f1
-; FAST-NEXT: fmr f1, f31
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fctid f0, f1
-; FAST-NEXT: fctid f1, f30
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: mffprd r3, f1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: xxmrghd v2, vs1, vs0
-; FAST-NEXT: addi r1, r1, 48
-; FAST-NEXT: ld r0, 16(r1)
-; FAST-NEXT: lfd f31, -8(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f30, -16(r1) # 8-byte Folded Reload
-; FAST-NEXT: mtlr r0
-; FAST-NEXT: blr
%a = call <2 x i64> @llvm.lrint.v2i64.v2f16(<2 x half> %x)
ret <2 x i64> %a
}
@@ -356,68 +296,6 @@ define <4 x i64> @lrint_v4f16(<4 x half> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v4f16:
-; FAST: # %bb.0:
-; FAST-NEXT: mflr r0
-; FAST-NEXT: stfd f28, -32(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f29, -24(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f30, -16(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f31, -8(r1) # 8-byte Folded Spill
-; FAST-NEXT: stdu r1, -64(r1)
-; FAST-NEXT: fmr f29, f1
-; FAST-NEXT: fmr f1, f4
-; FAST-NEXT: std r0, 80(r1)
-; FAST-NEXT: fmr f31, f3
-; FAST-NEXT: fmr f30, f2
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f28, f1
-; FAST-NEXT: fmr f1, f31
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f31, f1
-; FAST-NEXT: fmr f1, f30
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f30, f1
-; FAST-NEXT: fmr f1, f29
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fctid f0, f30
-; FAST-NEXT: fctid f2, f31
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: fctid f1, f1
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: mffprd r3, f2
-; FAST-NEXT: mtfprd f2, r3
-; FAST-NEXT: mffprd r3, f1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: xxmrghd v2, vs0, vs1
-; FAST-NEXT: fctid f0, f28
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v3, vs0, vs2
-; FAST-NEXT: addi r1, r1, 64
-; FAST-NEXT: ld r0, 16(r1)
-; FAST-NEXT: lfd f31, -8(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f30, -16(r1) # 8-byte Folded Reload
-; FAST-NEXT: mtlr r0
-; FAST-NEXT: lfd f29, -24(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f28, -32(r1) # 8-byte Folded Reload
-; FAST-NEXT: blr
%a = call <4 x i64> @llvm.lrint.v4i64.v4f16(<4 x half> %x)
ret <4 x i64> %a
}
@@ -729,122 +607,6 @@ define <8 x i64> @lrint_v8f16(<8 x half> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v8f16:
-; FAST: # %bb.0:
-; FAST-NEXT: mflr r0
-; FAST-NEXT: stfd f24, -64(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f25, -56(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f26, -48(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f27, -40(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f28, -32(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f29, -24(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f30, -16(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f31, -8(r1) # 8-byte Folded Spill
-; FAST-NEXT: stdu r1, -96(r1)
-; FAST-NEXT: fmr f24, f1
-; FAST-NEXT: fmr f1, f8
-; FAST-NEXT: std r0, 112(r1)
-; FAST-NEXT: fmr f30, f7
-; FAST-NEXT: fmr f29, f6
-; FAST-NEXT: fmr f28, f5
-; FAST-NEXT: fmr f27, f4
-; FAST-NEXT: fmr f26, f3
-; FAST-NEXT: fmr f25, f2
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f31, f1
-; FAST-NEXT: fmr f1, f30
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f30, f1
-; FAST-NEXT: fmr f1, f29
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f29, f1
-; FAST-NEXT: fmr f1, f28
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f28, f1
-; FAST-NEXT: fmr f1, f27
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f27, f1
-; FAST-NEXT: fmr f1, f26
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f26, f1
-; FAST-NEXT: fmr f1, f25
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f25, f1
-; FAST-NEXT: fmr f1, f24
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fctid f0, f25
-; FAST-NEXT: fctid f2, f26
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: fctid f3, f27
-; FAST-NEXT: fctid f4, f28
-; FAST-NEXT: fctid f5, f29
-; FAST-NEXT: fctid f6, f30
-; FAST-NEXT: fctid f1, f1
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: mffprd r3, f2
-; FAST-NEXT: mtfprd f2, r3
-; FAST-NEXT: mffprd r3, f3
-; FAST-NEXT: mtfprd f3, r3
-; FAST-NEXT: mffprd r3, f4
-; FAST-NEXT: mtfprd f4, r3
-; FAST-NEXT: mffprd r3, f5
-; FAST-NEXT: mtfprd f5, r3
-; FAST-NEXT: mffprd r3, f6
-; FAST-NEXT: mtfprd f6, r3
-; FAST-NEXT: mffprd r3, f1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: xxmrghd v3, vs3, vs2
-; FAST-NEXT: xxmrghd v4, vs5, vs4
-; FAST-NEXT: xxmrghd v2, vs0, vs1
-; FAST-NEXT: fctid f0, f31
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v5, vs0, vs6
-; FAST-NEXT: addi r1, r1, 96
-; FAST-NEXT: ld r0, 16(r1)
-; FAST-NEXT: lfd f31, -8(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f30, -16(r1) # 8-byte Folded Reload
-; FAST-NEXT: mtlr r0
-; FAST-NEXT: lfd f29, -24(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f28, -32(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f27, -40(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f26, -48(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f25, -56(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f24, -64(r1) # 8-byte Folded Reload
-; FAST-NEXT: blr
%a = call <8 x i64> @llvm.lrint.v8i64.v8f16(<8 x half> %x)
ret <8 x i64> %a
}
@@ -1454,228 +1216,6 @@ define <16 x i64> @lrint_v16i64_v16f16(<16 x half> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v16i64_v16f16:
-; FAST: # %bb.0:
-; FAST-NEXT: mflr r0
-; FAST-NEXT: stfd f16, -128(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f17, -120(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f18, -112(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f19, -104(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f20, -96(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f21, -88(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f22, -80(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f23, -72(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f24, -64(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f25, -56(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f26, -48(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f27, -40(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f28, -32(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f29, -24(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f30, -16(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f31, -8(r1) # 8-byte Folded Spill
-; FAST-NEXT: stdu r1, -160(r1)
-; FAST-NEXT: fmr f26, f1
-; FAST-NEXT: lfs f1, 312(r1)
-; FAST-NEXT: std r0, 176(r1)
-; FAST-NEXT: fmr f28, f13
-; FAST-NEXT: fmr f27, f12
-; FAST-NEXT: fmr f24, f11
-; FAST-NEXT: fmr f21, f10
-; FAST-NEXT: fmr f19, f9
-; FAST-NEXT: fmr f18, f8
-; FAST-NEXT: fmr f17, f7
-; FAST-NEXT: fmr f16, f6
-; FAST-NEXT: fmr f20, f5
-; FAST-NEXT: fmr f22, f4
-; FAST-NEXT: fmr f23, f3
-; FAST-NEXT: fmr f25, f2
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f31, f1
-; FAST-NEXT: lfs f1, 304(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f30, f1
-; FAST-NEXT: lfs f1, 296(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f29, f1
-; FAST-NEXT: fmr f1, f28
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f28, f1
-; FAST-NEXT: fmr f1, f27
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f27, f1
-; FAST-NEXT: fmr f1, f24
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f24, f1
-; FAST-NEXT: fmr f1, f21
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f21, f1
-; FAST-NEXT: fmr f1, f19
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f19, f1
-; FAST-NEXT: fmr f1, f18
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f18, f1
-; FAST-NEXT: fmr f1, f17
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f17, f1
-; FAST-NEXT: fmr f1, f16
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f16, f1
-; FAST-NEXT: fmr f1, f20
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f20, f1
-; FAST-NEXT: fmr f1, f22
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f22, f1
-; FAST-NEXT: fmr f1, f23
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f23, f1
-; FAST-NEXT: fmr f1, f25
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f25, f1
-; FAST-NEXT: fmr f1, f26
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fctid f0, f25
-; FAST-NEXT: fctid f2, f23
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: fctid f3, f22
-; FAST-NEXT: fctid f4, f20
-; FAST-NEXT: fctid f5, f16
-; FAST-NEXT: fctid f6, f17
-; FAST-NEXT: fctid f7, f18
-; FAST-NEXT: fctid f8, f19
-; FAST-NEXT: fctid f9, f21
-; FAST-NEXT: fctid f10, f24
-; FAST-NEXT: fctid f1, f1
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: mffprd r3, f2
-; FAST-NEXT: mtfprd f2, r3
-; FAST-NEXT: mffprd r3, f3
-; FAST-NEXT: mtfprd f3, r3
-; FAST-NEXT: mffprd r3, f4
-; FAST-NEXT: mtfprd f4, r3
-; FAST-NEXT: mffprd r3, f5
-; FAST-NEXT: mtfprd f5, r3
-; FAST-NEXT: mffprd r3, f6
-; FAST-NEXT: mtfprd f6, r3
-; FAST-NEXT: mffprd r3, f7
-; FAST-NEXT: mtfprd f7, r3
-; FAST-NEXT: mffprd r3, f8
-; FAST-NEXT: mtfprd f8, r3
-; FAST-NEXT: mffprd r3, f9
-; FAST-NEXT: mtfprd f9, r3
-; FAST-NEXT: mffprd r3, f10
-; FAST-NEXT: mtfprd f10, r3
-; FAST-NEXT: mffprd r3, f1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: xxmrghd v3, vs3, vs2
-; FAST-NEXT: xxmrghd v4, vs5, vs4
-; FAST-NEXT: xxmrghd v5, vs7, vs6
-; FAST-NEXT: xxmrghd v6, vs9, vs8
-; FAST-NEXT: xxmrghd v2, vs0, vs1
-; FAST-NEXT: fctid f0, f27
-; FAST-NEXT: fctid f1, f29
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v7, vs0, vs10
-; FAST-NEXT: fctid f0, f28
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: mffprd r3, f1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: xxmrghd v8, vs1, vs0
-; FAST-NEXT: fctid f0, f30
-; FAST-NEXT: fctid f1, f31
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: mffprd r3, f1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: xxmrghd v9, vs1, vs0
-; FAST-NEXT: addi r1, r1, 160
-; FAST-NEXT: ld r0, 16(r1)
-; FAST-NEXT: lfd f31, -8(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f30, -16(r1) # 8-byte Folded Reload
-; FAST-NEXT: mtlr r0
-; FAST-NEXT: lfd f29, -24(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f28, -32(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f27, -40(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f26, -48(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f25, -56(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f24, -64(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f23, -72(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f22, -80(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f21, -88(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f20, -96(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f19, -104(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f18, -112(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f17, -120(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f16, -128(r1) # 8-byte Folded Reload
-; FAST-NEXT: blr
%a = call <16 x i64> @llvm.lrint.v16i64.v16f16(<16 x half> %x)
ret <16 x i64> %a
}
@@ -2854,523 +2394,6 @@ define <32 x i64> @lrint_v32i64_v32f16(<32 x half> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v32i64_v32f16:
-; FAST: # %bb.0:
-; FAST-NEXT: mflr r0
-; FAST-NEXT: stdu r1, -480(r1)
-; FAST-NEXT: li r4, 128
-; FAST-NEXT: std r0, 496(r1)
-; FAST-NEXT: std r30, 320(r1) # 8-byte Folded Spill
-; FAST-NEXT: mr r30, r3
-; FAST-NEXT: stfd f14, 336(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f15, 344(r1) # 8-byte Folded Spill
-; FAST-NEXT: fmr f14, f5
-; FAST-NEXT: stfd f16, 352(r1) # 8-byte Folded Spill
-; FAST-NEXT: stxvd2x v20, r1, r4 # 16-byte Folded Spill
-; FAST-NEXT: li r4, 144
-; FAST-NEXT: fmr f16, f4
-; FAST-NEXT: stfd f17, 360(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f18, 368(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f19, 376(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f20, 384(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f21, 392(r1) # 8-byte Folded Spill
-; FAST-NEXT: stxvd2x v21, r1, r4 # 16-byte Folded Spill
-; FAST-NEXT: li r4, 160
-; FAST-NEXT: stfd f22, 400(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f23, 408(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f24, 416(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f25, 424(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f26, 432(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f27, 440(r1) # 8-byte Folded Spill
-; FAST-NEXT: stxvd2x v22, r1, r4 # 16-byte Folded Spill
-; FAST-NEXT: li r4, 176
-; FAST-NEXT: xxlor v22, f3, f3
-; FAST-NEXT: stfd f28, 448(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f29, 456(r1) # 8-byte Folded Spill
-; FAST-NEXT: fmr f29, f9
-; FAST-NEXT: stfd f30, 464(r1) # 8-byte Folded Spill
-; FAST-NEXT: stfd f31, 472(r1) # 8-byte Folded Spill
-; FAST-NEXT: stxvd2x v23, r1, r4 # 16-byte Folded Spill
-; FAST-NEXT: li r4, 192
-; FAST-NEXT: xxlor v23, f2, f2
-; FAST-NEXT: stxvd2x v24, r1, r4 # 16-byte Folded Spill
-; FAST-NEXT: li r4, 208
-; FAST-NEXT: stxvd2x v25, r1, r4 # 16-byte Folded Spill
-; FAST-NEXT: li r4, 224
-; FAST-NEXT: xxlor v25, f13, f13
-; FAST-NEXT: stxvd2x v26, r1, r4 # 16-byte Folded Spill
-; FAST-NEXT: li r4, 240
-; FAST-NEXT: xxlor v26, f12, f12
-; FAST-NEXT: stxvd2x v27, r1, r4 # 16-byte Folded Spill
-; FAST-NEXT: li r4, 256
-; FAST-NEXT: xxlor v27, f11, f11
-; FAST-NEXT: stxvd2x v28, r1, r4 # 16-byte Folded Spill
-; FAST-NEXT: li r4, 272
-; FAST-NEXT: xxlor v28, f10, f10
-; FAST-NEXT: stxvd2x v29, r1, r4 # 16-byte Folded Spill
-; FAST-NEXT: li r4, 288
-; FAST-NEXT: xxlor v29, f8, f8
-; FAST-NEXT: stxvd2x v30, r1, r4 # 16-byte Folded Spill
-; FAST-NEXT: li r4, 304
-; FAST-NEXT: xxlor v30, f7, f7
-; FAST-NEXT: stxvd2x v31, r1, r4 # 16-byte Folded Spill
-; FAST-NEXT: li r4, 44
-; FAST-NEXT: xxlor v31, f6, f6
-; FAST-NEXT: stxsspx f1, r1, r4 # 4-byte Folded Spill
-; FAST-NEXT: lfs f1, 768(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: li r3, 120
-; FAST-NEXT: stxsdx f1, r1, r3 # 8-byte Folded Spill
-; FAST-NEXT: lfs f1, 760(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: li r3, 112
-; FAST-NEXT: stxsdx f1, r1, r3 # 8-byte Folded Spill
-; FAST-NEXT: lfs f1, 752(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: li r3, 104
-; FAST-NEXT: stxsdx f1, r1, r3 # 8-byte Folded Spill
-; FAST-NEXT: lfs f1, 744(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: li r3, 96
-; FAST-NEXT: stxsdx f1, r1, r3 # 8-byte Folded Spill
-; FAST-NEXT: lfs f1, 736(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: li r3, 88
-; FAST-NEXT: stxsdx f1, r1, r3 # 8-byte Folded Spill
-; FAST-NEXT: lfs f1, 728(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: li r3, 80
-; FAST-NEXT: stxsdx f1, r1, r3 # 8-byte Folded Spill
-; FAST-NEXT: lfs f1, 720(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: li r3, 72
-; FAST-NEXT: stxsdx f1, r1, r3 # 8-byte Folded Spill
-; FAST-NEXT: lfs f1, 712(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: li r3, 64
-; FAST-NEXT: stxsdx f1, r1, r3 # 8-byte Folded Spill
-; FAST-NEXT: lfs f1, 704(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: li r3, 56
-; FAST-NEXT: stxsdx f1, r1, r3 # 8-byte Folded Spill
-; FAST-NEXT: lfs f1, 696(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: li r3, 48
-; FAST-NEXT: stxsdx f1, r1, r3 # 8-byte Folded Spill
-; FAST-NEXT: lfs f1, 688(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: xxlor v21, f1, f1
-; FAST-NEXT: lfs f1, 680(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: xxlor v20, f1, f1
-; FAST-NEXT: lfs f1, 672(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: xxlor v24, f1, f1
-; FAST-NEXT: lfs f1, 664(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f31, f1
-; FAST-NEXT: lfs f1, 656(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f30, f1
-; FAST-NEXT: lfs f1, 648(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f28, f1
-; FAST-NEXT: lfs f1, 640(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f27, f1
-; FAST-NEXT: lfs f1, 632(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f26, f1
-; FAST-NEXT: lfs f1, 624(r1)
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f25, f1
-; FAST-NEXT: xxlor f1, v25, v25
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f24, f1
-; FAST-NEXT: xxlor f1, v26, v26
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f23, f1
-; FAST-NEXT: xxlor f1, v27, v27
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f22, f1
-; FAST-NEXT: xxlor f1, v28, v28
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f21, f1
-; FAST-NEXT: fmr f1, f29
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f20, f1
-; FAST-NEXT: xxlor f1, v29, v29
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f19, f1
-; FAST-NEXT: xxlor f1, v30, v30
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f18, f1
-; FAST-NEXT: xxlor f1, v31, v31
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f29, f1
-; FAST-NEXT: fmr f1, f14
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f14, f1
-; FAST-NEXT: fmr f1, f16
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f16, f1
-; FAST-NEXT: xxlor f1, v22, v22
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fmr f17, f1
-; FAST-NEXT: xxlor f1, v23, v23
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: li r3, 44
-; FAST-NEXT: fmr f15, f1
-; FAST-NEXT: lxsspx f1, r1, r3 # 4-byte Folded Reload
-; FAST-NEXT: bl __truncsfhf2
-; FAST-NEXT: nop
-; FAST-NEXT: clrldi r3, r3, 48
-; FAST-NEXT: bl __extendhfsf2
-; FAST-NEXT: nop
-; FAST-NEXT: fctid f3, f15
-; FAST-NEXT: fctid f4, f17
-; FAST-NEXT: mffprd r3, f3
-; FAST-NEXT: fctid f5, f16
-; FAST-NEXT: fctid f6, f14
-; FAST-NEXT: fctid f7, f18
-; FAST-NEXT: fctid f8, f19
-; FAST-NEXT: fctid f13, f1
-; FAST-NEXT: fctid f9, f20
-; FAST-NEXT: fctid f10, f22
-; FAST-NEXT: fctid f11, f24
-; FAST-NEXT: fctid f12, f25
-; FAST-NEXT: fctid f2, f23
-; FAST-NEXT: fctid f0, f21
-; FAST-NEXT: mtvsrd v2, r3
-; FAST-NEXT: mffprd r3, f4
-; FAST-NEXT: mtvsrd v3, r3
-; FAST-NEXT: mffprd r3, f5
-; FAST-NEXT: mtfprd f5, r3
-; FAST-NEXT: mffprd r3, f6
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: mffprd r3, f7
-; FAST-NEXT: mtfprd f6, r3
-; FAST-NEXT: mffprd r3, f8
-; FAST-NEXT: mtfprd f7, r3
-; FAST-NEXT: mffprd r3, f9
-; FAST-NEXT: mtfprd f3, r3
-; FAST-NEXT: mffprd r3, f10
-; FAST-NEXT: mtfprd f4, r3
-; FAST-NEXT: mffprd r3, f11
-; FAST-NEXT: fctid f11, f31
-; FAST-NEXT: lfd f31, 56(r1) # 8-byte Folded Reload
-; FAST-NEXT: mtfprd f8, r3
-; FAST-NEXT: mffprd r3, f12
-; FAST-NEXT: xxlor f12, v24, v24
-; FAST-NEXT: fctid f31, f31
-; FAST-NEXT: fctid f12, f12
-; FAST-NEXT: mtfprd f9, r3
-; FAST-NEXT: mffprd r3, f13
-; FAST-NEXT: lfd f13, 48(r1) # 8-byte Folded Reload
-; FAST-NEXT: mtfprd f10, r3
-; FAST-NEXT: fctid f13, f13
-; FAST-NEXT: xxmrghd v3, vs5, v3
-; FAST-NEXT: fctid f5, f26
-; FAST-NEXT: mffprd r3, f5
-; FAST-NEXT: mtfprd f5, r3
-; FAST-NEXT: xxmrghd v4, vs7, vs6
-; FAST-NEXT: fctid f6, f27
-; FAST-NEXT: fctid f7, f28
-; FAST-NEXT: mffprd r3, f6
-; FAST-NEXT: lfd f28, 96(r1) # 8-byte Folded Reload
-; FAST-NEXT: fctid f28, f28
-; FAST-NEXT: mtfprd f6, r3
-; FAST-NEXT: mffprd r3, f7
-; FAST-NEXT: mtfprd f7, r3
-; FAST-NEXT: xxmrghd v2, v2, vs10
-; FAST-NEXT: fctid f10, f30
-; FAST-NEXT: mffprd r3, f10
-; FAST-NEXT: lfd f30, 80(r1) # 8-byte Folded Reload
-; FAST-NEXT: fctid f30, f30
-; FAST-NEXT: mtfprd f10, r3
-; FAST-NEXT: mffprd r3, f11
-; FAST-NEXT: mtfprd f11, r3
-; FAST-NEXT: mffprd r3, f12
-; FAST-NEXT: mtfprd f12, r3
-; FAST-NEXT: xxmrghd v5, vs12, vs11
-; FAST-NEXT: xxlor f11, v20, v20
-; FAST-NEXT: xxlor f12, v21, v21
-; FAST-NEXT: fctid f11, f11
-; FAST-NEXT: fctid f12, f12
-; FAST-NEXT: mffprd r3, f11
-; FAST-NEXT: mtfprd f11, r3
-; FAST-NEXT: mffprd r3, f12
-; FAST-NEXT: mtfprd f12, r3
-; FAST-NEXT: mffprd r3, f13
-; FAST-NEXT: mtfprd f13, r3
-; FAST-NEXT: mffprd r3, f31
-; FAST-NEXT: lfd f31, 64(r1) # 8-byte Folded Reload
-; FAST-NEXT: fctid f31, f31
-; FAST-NEXT: mtvsrd v0, r3
-; FAST-NEXT: mffprd r3, f31
-; FAST-NEXT: lfd f31, 72(r1) # 8-byte Folded Reload
-; FAST-NEXT: mtvsrd v1, r3
-; FAST-NEXT: mffprd r3, f30
-; FAST-NEXT: lfd f30, 88(r1) # 8-byte Folded Reload
-; FAST-NEXT: fctid f31, f31
-; FAST-NEXT: mtvsrd v6, r3
-; FAST-NEXT: mffprd r3, f28
-; FAST-NEXT: lfd f28, 104(r1) # 8-byte Folded Reload
-; FAST-NEXT: fctid f30, f30
-; FAST-NEXT: fctid f28, f28
-; FAST-NEXT: mtvsrd v7, r3
-; FAST-NEXT: mffprd r3, f28
-; FAST-NEXT: lfd f28, 112(r1) # 8-byte Folded Reload
-; FAST-NEXT: fctid f28, f28
-; FAST-NEXT: mtvsrd v8, r3
-; FAST-NEXT: mffprd r3, f28
-; FAST-NEXT: lfd f28, 120(r1) # 8-byte Folded Reload
-; FAST-NEXT: fctid f28, f28
-; FAST-NEXT: xxmrghd v10, vs12, vs11
-; FAST-NEXT: xxmrghd v0, v0, vs13
-; FAST-NEXT: xxswapd vs12, v0
-; FAST-NEXT: xxmrghd v0, vs9, vs8
-; FAST-NEXT: xxmrghd v7, v8, v7
-; FAST-NEXT: mtvsrd v8, r3
-; FAST-NEXT: mffprd r3, f28
-; FAST-NEXT: mtvsrd v9, r3
-; FAST-NEXT: mffprd r3, f30
-; FAST-NEXT: xxswapd v7, v7
-; FAST-NEXT: xxmrghd v8, v9, v8
-; FAST-NEXT: mtvsrd v9, r3
-; FAST-NEXT: mffprd r3, f31
-; FAST-NEXT: xxswapd v8, v8
-; FAST-NEXT: xxmrghd v6, v9, v6
-; FAST-NEXT: mtvsrd v9, r3
-; FAST-NEXT: li r3, 240
-; FAST-NEXT: stxvd2x v8, r30, r3
-; FAST-NEXT: li r3, 224
-; FAST-NEXT: stxvd2x v7, r30, r3
-; FAST-NEXT: li r3, 208
-; FAST-NEXT: xxswapd vs11, v6
-; FAST-NEXT: xxmrghd v6, vs10, vs7
-; FAST-NEXT: stxvd2x vs11, r30, r3
-; FAST-NEXT: li r3, 192
-; FAST-NEXT: xxmrghd v1, v9, v1
-; FAST-NEXT: xxswapd vs11, v1
-; FAST-NEXT: xxmrghd v1, vs6, vs5
-; FAST-NEXT: xxswapd vs5, v10
-; FAST-NEXT: xxswapd vs6, v5
-; FAST-NEXT: stxvd2x vs11, r30, r3
-; FAST-NEXT: li r3, 176
-; FAST-NEXT: stxvd2x vs12, r30, r3
-; FAST-NEXT: li r3, 160
-; FAST-NEXT: stxvd2x vs5, r30, r3
-; FAST-NEXT: li r3, 144
-; FAST-NEXT: stxvd2x vs6, r30, r3
-; FAST-NEXT: mffprd r3, f2
-; FAST-NEXT: mtfprd f7, r3
-; FAST-NEXT: li r3, 128
-; FAST-NEXT: xxswapd vs5, v6
-; FAST-NEXT: stxvd2x vs5, r30, r3
-; FAST-NEXT: li r3, 112
-; FAST-NEXT: xxswapd vs2, v1
-; FAST-NEXT: xxswapd vs6, v0
-; FAST-NEXT: stxvd2x vs2, r30, r3
-; FAST-NEXT: li r3, 96
-; FAST-NEXT: fctid f2, f29
-; FAST-NEXT: stxvd2x vs6, r30, r3
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: mffprd r3, f2
-; FAST-NEXT: mtfprd f2, r3
-; FAST-NEXT: li r3, 80
-; FAST-NEXT: xxmrghd v5, vs7, vs4
-; FAST-NEXT: xxswapd vs4, v2
-; FAST-NEXT: xxmrghd v0, vs0, vs3
-; FAST-NEXT: xxswapd vs0, v5
-; FAST-NEXT: xxswapd vs3, v3
-; FAST-NEXT: stxvd2x vs0, r30, r3
-; FAST-NEXT: li r3, 64
-; FAST-NEXT: xxswapd vs0, v0
-; FAST-NEXT: stxvd2x vs0, r30, r3
-; FAST-NEXT: li r3, 48
-; FAST-NEXT: xxmrghd v5, vs2, vs1
-; FAST-NEXT: xxswapd vs1, v4
-; FAST-NEXT: stxvd2x vs1, r30, r3
-; FAST-NEXT: li r3, 32
-; FAST-NEXT: xxswapd vs2, v5
-; FAST-NEXT: stxvd2x vs2, r30, r3
-; FAST-NEXT: li r3, 16
-; FAST-NEXT: stxvd2x vs3, r30, r3
-; FAST-NEXT: li r3, 304
-; FAST-NEXT: stxvd2x vs4, 0, r30
-; FAST-NEXT: lfd f31, 472(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f30, 464(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f29, 456(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f28, 448(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f27, 440(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f26, 432(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f25, 424(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f24, 416(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f23, 408(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f22, 400(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f21, 392(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f20, 384(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f19, 376(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f18, 368(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f17, 360(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f16, 352(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f15, 344(r1) # 8-byte Folded Reload
-; FAST-NEXT: lfd f14, 336(r1) # 8-byte Folded Reload
-; FAST-NEXT: lxvd2x v31, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 288
-; FAST-NEXT: ld r30, 320(r1) # 8-byte Folded Reload
-; FAST-NEXT: lxvd2x v30, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 272
-; FAST-NEXT: lxvd2x v29, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 256
-; FAST-NEXT: lxvd2x v28, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 240
-; FAST-NEXT: lxvd2x v27, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 224
-; FAST-NEXT: lxvd2x v26, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 208
-; FAST-NEXT: lxvd2x v25, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 192
-; FAST-NEXT: lxvd2x v24, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 176
-; FAST-NEXT: lxvd2x v23, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 160
-; FAST-NEXT: lxvd2x v22, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 144
-; FAST-NEXT: lxvd2x v21, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 128
-; FAST-NEXT: lxvd2x v20, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: addi r1, r1, 480
-; FAST-NEXT: ld r0, 16(r1)
-; FAST-NEXT: mtlr r0
-; FAST-NEXT: blr
%a = call <32 x i64> @llvm.lrint.v32i64.v32f16(<32 x half> %x)
ret <32 x i64> %a
}
@@ -3400,12 +2423,6 @@ define <1 x i64> @lrint_v1f32(<1 x float> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v1f32:
-; FAST: # %bb.0:
-; FAST-NEXT: fctid f0, f1
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: blr
%a = call <1 x i64> @llvm.lrint.v1i64.v1f32(<1 x float> %x)
ret <1 x i64> %a
}
@@ -3459,21 +2476,6 @@ define <2 x i64> @lrint_v2f32(<2 x float> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v2f32:
-; FAST: # %bb.0:
-; FAST-NEXT: xxsldwi vs0, v2, v2, 3
-; FAST-NEXT: xxswapd vs1, v2
-; FAST-NEXT: xscvspdpn f0, vs0
-; FAST-NEXT: xscvspdpn f1, vs1
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: fctid f1, f1
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: mffprd r3, f1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: xxmrghd v2, vs1, vs0
-; FAST-NEXT: blr
%a = call <2 x i64> @llvm.lrint.v2i64.v2f32(<2 x float> %x)
ret <2 x i64> %a
}
@@ -3552,32 +2554,6 @@ define <4 x i64> @lrint_v4f32(<4 x float> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v4f32:
-; FAST: # %bb.0:
-; FAST-NEXT: xxsldwi vs0, v2, v2, 3
-; FAST-NEXT: xxswapd vs1, v2
-; FAST-NEXT: xscvspdpn f0, vs0
-; FAST-NEXT: xxsldwi vs2, v2, v2, 1
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: xscvspdpn f0, vs1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v4, vs0, vs1
-; FAST-NEXT: xscvspdpn f0, v2
-; FAST-NEXT: vmr v2, v4
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: xscvspdpn f0, vs2
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v3, vs1, vs0
-; FAST-NEXT: blr
%a = call <4 x i64> @llvm.lrint.v4i64.v4f32(<4 x float> %x)
ret <4 x i64> %a
}
@@ -3710,54 +2686,6 @@ define <8 x i64> @lrint_v8f32(<8 x float> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v8f32:
-; FAST: # %bb.0:
-; FAST-NEXT: xxsldwi vs0, v2, v2, 3
-; FAST-NEXT: xxswapd vs1, v2
-; FAST-NEXT: xscvspdpn f0, vs0
-; FAST-NEXT: xxsldwi vs2, v2, v2, 1
-; FAST-NEXT: xxsldwi vs3, v3, v3, 3
-; FAST-NEXT: xxswapd vs4, v3
-; FAST-NEXT: xxsldwi vs5, v3, v3, 1
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: xscvspdpn f0, vs1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v0, vs0, vs1
-; FAST-NEXT: xscvspdpn f0, v2
-; FAST-NEXT: vmr v2, v0
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: xscvspdpn f0, vs2
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v1, vs1, vs0
-; FAST-NEXT: xscvspdpn f0, vs3
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: xscvspdpn f0, vs4
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v4, vs0, vs1
-; FAST-NEXT: xscvspdpn f0, v3
-; FAST-NEXT: vmr v3, v1
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: xscvspdpn f0, vs5
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v5, vs1, vs0
-; FAST-NEXT: blr
%a = call <8 x i64> @llvm.lrint.v8i64.v8f32(<8 x float> %x)
ret <8 x i64> %a
}
@@ -3998,98 +2926,6 @@ define <16 x i64> @lrint_v16i64_v16f32(<16 x float> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v16i64_v16f32:
-; FAST: # %bb.0:
-; FAST-NEXT: xxsldwi vs0, v2, v2, 3
-; FAST-NEXT: xxswapd vs1, v2
-; FAST-NEXT: xscvspdpn f0, vs0
-; FAST-NEXT: xxsldwi vs2, v2, v2, 1
-; FAST-NEXT: xxsldwi vs3, v3, v3, 3
-; FAST-NEXT: xxswapd vs4, v3
-; FAST-NEXT: xxsldwi vs5, v3, v3, 1
-; FAST-NEXT: xxsldwi vs6, v4, v4, 3
-; FAST-NEXT: xxswapd vs7, v4
-; FAST-NEXT: xxsldwi vs8, v4, v4, 1
-; FAST-NEXT: xxsldwi vs9, v5, v5, 3
-; FAST-NEXT: xxswapd vs10, v5
-; FAST-NEXT: xxsldwi vs11, v5, v5, 1
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: xscvspdpn f0, vs1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v0, vs0, vs1
-; FAST-NEXT: xscvspdpn f0, v2
-; FAST-NEXT: vmr v2, v0
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: xscvspdpn f0, vs2
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v1, vs1, vs0
-; FAST-NEXT: xscvspdpn f0, vs3
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: xscvspdpn f0, vs4
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v10, vs0, vs1
-; FAST-NEXT: xscvspdpn f0, v3
-; FAST-NEXT: vmr v3, v1
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: xscvspdpn f0, vs5
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v11, vs1, vs0
-; FAST-NEXT: xscvspdpn f0, vs6
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: xscvspdpn f0, vs7
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v6, vs0, vs1
-; FAST-NEXT: xscvspdpn f0, v4
-; FAST-NEXT: xscvspdpn f1, vs8
-; FAST-NEXT: vmr v4, v10
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: fctid f1, f1
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: mffprd r3, f1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: xxmrghd v7, vs0, vs1
-; FAST-NEXT: xscvspdpn f0, vs9
-; FAST-NEXT: xscvspdpn f1, vs10
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: fctid f1, f1
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: mffprd r3, f1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: xxmrghd v8, vs1, vs0
-; FAST-NEXT: xscvspdpn f0, v5
-; FAST-NEXT: xscvspdpn f1, vs11
-; FAST-NEXT: vmr v5, v11
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: fctid f1, f1
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: mffprd r3, f1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: xxmrghd v9, vs0, vs1
-; FAST-NEXT: blr
%a = call <16 x i64> @llvm.lrint.v16i64.v16f32(<16 x float> %x)
ret <16 x i64> %a
}
@@ -4119,12 +2955,6 @@ define <1 x i64> @lrint_v1f64(<1 x double> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v1f64:
-; FAST: # %bb.0:
-; FAST-NEXT: fctid f0, f1
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: blr
%a = call <1 x i64> @llvm.lrint.v1i64.v1f64(<1 x double> %x)
ret <1 x i64> %a
}
@@ -4179,19 +3009,6 @@ define <2 x i64> @lrint_v2f64(<2 x double> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v2f64:
-; FAST: # %bb.0:
-; FAST-NEXT: xxlor f1, v2, v2
-; FAST-NEXT: xxswapd vs0, v2
-; FAST-NEXT: fctid f1, f1
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r3, f1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: mffprd r3, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v2, vs1, vs0
-; FAST-NEXT: blr
%a = call <2 x i64> @llvm.lrint.v2i64.v2f64(<2 x double> %x)
ret <2 x i64> %a
}
@@ -4276,28 +3093,6 @@ define <4 x i64> @lrint_v4f64(<4 x double> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v4f64:
-; FAST: # %bb.0:
-; FAST-NEXT: xxswapd vs0, v2
-; FAST-NEXT: xxlor f2, v2, v2
-; FAST-NEXT: xxswapd vs1, v3
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: fctid f2, f2
-; FAST-NEXT: fctid f1, f1
-; FAST-NEXT: mffprd r4, f0
-; FAST-NEXT: xxlor f0, v3, v3
-; FAST-NEXT: mffprd r3, f2
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mtfprd f2, r4
-; FAST-NEXT: mffprd r5, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: mffprd r3, f1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: xxmrghd v2, vs0, vs2
-; FAST-NEXT: mtfprd f0, r5
-; FAST-NEXT: xxmrghd v3, vs0, vs1
-; FAST-NEXT: blr
%a = call <4 x i64> @llvm.lrint.v4i64.v4f64(<4 x double> %x)
ret <4 x i64> %a
}
@@ -4442,46 +3237,6 @@ define <8 x i64> @lrint_v8f64(<8 x double> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v8f64:
-; FAST: # %bb.0:
-; FAST-NEXT: xxswapd vs0, v2
-; FAST-NEXT: xxswapd vs1, v3
-; FAST-NEXT: xxlor f4, v2, v2
-; FAST-NEXT: xxswapd vs2, v4
-; FAST-NEXT: xxswapd vs3, v5
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: fctid f4, f4
-; FAST-NEXT: mffprd r4, f0
-; FAST-NEXT: xxlor f0, v3, v3
-; FAST-NEXT: mffprd r3, f4
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mffprd r5, f0
-; FAST-NEXT: fctid f0, f1
-; FAST-NEXT: mtfprd f1, r4
-; FAST-NEXT: mffprd r6, f0
-; FAST-NEXT: xxlor f0, v4, v4
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mtfprd f4, r6
-; FAST-NEXT: mffprd r7, f0
-; FAST-NEXT: fctid f0, f2
-; FAST-NEXT: mtfprd f2, r5
-; FAST-NEXT: mtfprd f5, r7
-; FAST-NEXT: mffprd r8, f0
-; FAST-NEXT: xxlor f0, v5, v5
-; FAST-NEXT: fctid f0, f0
-; FAST-NEXT: mtfprd f6, r8
-; FAST-NEXT: mffprd r9, f0
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: xxmrghd v3, vs2, vs4
-; FAST-NEXT: xxmrghd v4, vs5, vs6
-; FAST-NEXT: xxmrghd v2, vs0, vs1
-; FAST-NEXT: fctid f1, f3
-; FAST-NEXT: mtfprd f0, r9
-; FAST-NEXT: mffprd r3, f1
-; FAST-NEXT: mtfprd f1, r3
-; FAST-NEXT: xxmrghd v5, vs0, vs1
-; FAST-NEXT: blr
%a = call <8 x i64> @llvm.lrint.v8i64.v8f64(<8 x double> %x)
ret <8 x i64> %a
}
@@ -4511,18 +3266,6 @@ define <1 x i64> @lrint_v1f128(<1 x fp128> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v1f128:
-; FAST: # %bb.0:
-; FAST-NEXT: mflr r0
-; FAST-NEXT: stdu r1, -32(r1)
-; FAST-NEXT: std r0, 48(r1)
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: addi r1, r1, 32
-; FAST-NEXT: ld r0, 16(r1)
-; FAST-NEXT: mtlr r0
-; FAST-NEXT: blr
%a = call <1 x i64> @llvm.lrint.v1i64.v1f128(<1 x fp128> %x)
ret <1 x i64> %a
}
@@ -4580,33 +3323,6 @@ define <2 x i64> @lrint_v2f128(<2 x fp128> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v2f128:
-; FAST: # %bb.0:
-; FAST-NEXT: mflr r0
-; FAST-NEXT: stdu r1, -80(r1)
-; FAST-NEXT: li r3, 48
-; FAST-NEXT: std r0, 96(r1)
-; FAST-NEXT: stxvd2x v30, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 64
-; FAST-NEXT: stxvd2x v31, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: vmr v31, v3
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: vmr v2, v31
-; FAST-NEXT: mtvsrd v30, r3
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: li r3, 64
-; FAST-NEXT: lxvd2x v31, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 48
-; FAST-NEXT: xxmrghd v2, vs0, v30
-; FAST-NEXT: lxvd2x v30, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: addi r1, r1, 80
-; FAST-NEXT: ld r0, 16(r1)
-; FAST-NEXT: mtlr r0
-; FAST-NEXT: blr
%a = call <2 x i64> @llvm.lrint.v2i64.v2f128(<2 x fp128> %x)
ret <2 x i64> %a
}
@@ -4704,53 +3420,6 @@ define <4 x i64> @lrint_v4f128(<4 x fp128> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v4f128:
-; FAST: # %bb.0:
-; FAST-NEXT: mflr r0
-; FAST-NEXT: stdu r1, -112(r1)
-; FAST-NEXT: li r3, 48
-; FAST-NEXT: std r0, 128(r1)
-; FAST-NEXT: stxvd2x v28, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 64
-; FAST-NEXT: stxvd2x v29, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 80
-; FAST-NEXT: vmr v29, v3
-; FAST-NEXT: stxvd2x v30, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 96
-; FAST-NEXT: vmr v30, v4
-; FAST-NEXT: stxvd2x v31, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: vmr v31, v5
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: vmr v2, v29
-; FAST-NEXT: mtvsrd v28, r3
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: vmr v2, v30
-; FAST-NEXT: xxmrghd v29, vs0, v28
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: vmr v2, v31
-; FAST-NEXT: mtvsrd v30, r3
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: li r3, 96
-; FAST-NEXT: vmr v2, v29
-; FAST-NEXT: lxvd2x v31, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 80
-; FAST-NEXT: xxmrghd v3, vs0, v30
-; FAST-NEXT: lxvd2x v30, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 64
-; FAST-NEXT: lxvd2x v29, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 48
-; FAST-NEXT: lxvd2x v28, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: addi r1, r1, 112
-; FAST-NEXT: ld r0, 16(r1)
-; FAST-NEXT: mtlr r0
-; FAST-NEXT: blr
%a = call <4 x i64> @llvm.lrint.v4i64.v4f128(<4 x fp128> %x)
ret <4 x i64> %a
}
@@ -4928,93 +3597,6 @@ define <8 x i64> @lrint_v8f128(<8 x fp128> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v8f128:
-; FAST: # %bb.0:
-; FAST-NEXT: mflr r0
-; FAST-NEXT: stdu r1, -176(r1)
-; FAST-NEXT: li r3, 48
-; FAST-NEXT: std r0, 192(r1)
-; FAST-NEXT: stxvd2x v24, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 64
-; FAST-NEXT: stxvd2x v25, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 80
-; FAST-NEXT: vmr v25, v3
-; FAST-NEXT: stxvd2x v26, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 96
-; FAST-NEXT: vmr v26, v4
-; FAST-NEXT: stxvd2x v27, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 112
-; FAST-NEXT: vmr v27, v5
-; FAST-NEXT: stxvd2x v28, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 128
-; FAST-NEXT: vmr v28, v6
-; FAST-NEXT: stxvd2x v29, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 144
-; FAST-NEXT: vmr v29, v7
-; FAST-NEXT: stxvd2x v30, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 160
-; FAST-NEXT: vmr v30, v8
-; FAST-NEXT: stxvd2x v31, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: vmr v31, v9
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: vmr v2, v25
-; FAST-NEXT: mtvsrd v24, r3
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: vmr v2, v26
-; FAST-NEXT: xxmrghd v25, vs0, v24
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: vmr v2, v27
-; FAST-NEXT: mtvsrd v26, r3
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: vmr v2, v28
-; FAST-NEXT: xxmrghd v27, vs0, v26
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: vmr v2, v29
-; FAST-NEXT: mtvsrd v28, r3
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: vmr v2, v30
-; FAST-NEXT: xxmrghd v29, vs0, v28
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: vmr v2, v31
-; FAST-NEXT: mtvsrd v30, r3
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: li r3, 160
-; FAST-NEXT: vmr v4, v29
-; FAST-NEXT: lxvd2x v31, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 144
-; FAST-NEXT: vmr v3, v27
-; FAST-NEXT: vmr v2, v25
-; FAST-NEXT: xxmrghd v5, vs0, v30
-; FAST-NEXT: lxvd2x v30, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 128
-; FAST-NEXT: lxvd2x v29, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 112
-; FAST-NEXT: lxvd2x v28, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 96
-; FAST-NEXT: lxvd2x v27, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 80
-; FAST-NEXT: lxvd2x v26, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 64
-; FAST-NEXT: lxvd2x v25, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 48
-; FAST-NEXT: lxvd2x v24, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: addi r1, r1, 176
-; FAST-NEXT: ld r0, 16(r1)
-; FAST-NEXT: mtlr r0
-; FAST-NEXT: blr
%a = call <8 x i64> @llvm.lrint.v8i64.v8f128(<8 x fp128> %x)
ret <8 x i64> %a
}
@@ -5355,176 +3937,6 @@ define <16 x i64> @lrint_v16i64_v16f128(<16 x fp128> %x) nounwind {
; CHECK-NEXT: ld r0, 16(r1)
; CHECK-NEXT: mtlr r0
; CHECK-NEXT: blr
-;
-; FAST-LABEL: lrint_v16i64_v16f128:
-; FAST: # %bb.0:
-; FAST-NEXT: mflr r0
-; FAST-NEXT: stdu r1, -304(r1)
-; FAST-NEXT: li r3, 112
-; FAST-NEXT: std r0, 320(r1)
-; FAST-NEXT: stxvd2x v20, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 128
-; FAST-NEXT: stxvd2x v21, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 144
-; FAST-NEXT: vmr v21, v4
-; FAST-NEXT: stxvd2x v22, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 160
-; FAST-NEXT: vmr v22, v6
-; FAST-NEXT: stxvd2x v23, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 176
-; FAST-NEXT: vmr v23, v8
-; FAST-NEXT: stxvd2x v24, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 192
-; FAST-NEXT: vmr v24, v9
-; FAST-NEXT: stxvd2x v25, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 208
-; FAST-NEXT: vmr v25, v7
-; FAST-NEXT: stxvd2x v26, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 224
-; FAST-NEXT: vmr v26, v10
-; FAST-NEXT: stxvd2x v27, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 240
-; FAST-NEXT: vmr v27, v5
-; FAST-NEXT: stxvd2x v28, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 256
-; FAST-NEXT: vmr v28, v11
-; FAST-NEXT: stxvd2x v29, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 272
-; FAST-NEXT: vmr v29, v12
-; FAST-NEXT: stxvd2x v30, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 288
-; FAST-NEXT: vmr v30, v3
-; FAST-NEXT: stxvd2x v31, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 64
-; FAST-NEXT: stxvd2x v13, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: addi r3, r1, 576
-; FAST-NEXT: lxvd2x vs0, 0, r3
-; FAST-NEXT: addi r3, r1, 560
-; FAST-NEXT: lxvd2x vs1, 0, r3
-; FAST-NEXT: addi r3, r1, 544
-; FAST-NEXT: lxvd2x vs2, 0, r3
-; FAST-NEXT: li r3, 96
-; FAST-NEXT: xxswapd vs0, vs0
-; FAST-NEXT: stxvd2x vs0, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 80
-; FAST-NEXT: xxswapd vs0, vs1
-; FAST-NEXT: stxvd2x vs0, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: li r3, 48
-; FAST-NEXT: xxswapd vs0, vs2
-; FAST-NEXT: stxvd2x vs0, r1, r3 # 16-byte Folded Spill
-; FAST-NEXT: addi r3, r1, 528
-; FAST-NEXT: lxvd2x vs0, 0, r3
-; FAST-NEXT: xxswapd v31, vs0
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: vmr v2, v30
-; FAST-NEXT: mtvsrd v20, r3
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: vmr v2, v21
-; FAST-NEXT: xxmrghd v30, vs0, v20
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: vmr v2, v27
-; FAST-NEXT: mtvsrd v21, r3
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: vmr v2, v22
-; FAST-NEXT: xxmrghd v27, vs0, v21
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: vmr v2, v25
-; FAST-NEXT: mtvsrd v22, r3
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: vmr v2, v23
-; FAST-NEXT: xxmrghd v25, vs0, v22
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: vmr v2, v24
-; FAST-NEXT: mtvsrd v23, r3
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: vmr v2, v26
-; FAST-NEXT: xxmrghd v24, vs0, v23
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: vmr v2, v28
-; FAST-NEXT: mtvsrd v26, r3
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: vmr v2, v29
-; FAST-NEXT: xxmrghd v28, vs0, v26
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtvsrd v29, r3
-; FAST-NEXT: li r3, 64
-; FAST-NEXT: lxvd2x v2, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: vmr v2, v31
-; FAST-NEXT: xxmrghd v29, vs0, v29
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtvsrd v31, r3
-; FAST-NEXT: li r3, 48
-; FAST-NEXT: lxvd2x v2, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: li r3, 80
-; FAST-NEXT: lxvd2x v2, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: xxmrghd v31, vs0, v31
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtvsrd v26, r3
-; FAST-NEXT: li r3, 96
-; FAST-NEXT: lxvd2x v2, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: bl lrintf128
-; FAST-NEXT: nop
-; FAST-NEXT: mtfprd f0, r3
-; FAST-NEXT: li r3, 288
-; FAST-NEXT: vmr v8, v31
-; FAST-NEXT: lxvd2x v31, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 272
-; FAST-NEXT: vmr v2, v30
-; FAST-NEXT: vmr v7, v29
-; FAST-NEXT: vmr v6, v28
-; FAST-NEXT: vmr v3, v27
-; FAST-NEXT: lxvd2x v30, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 256
-; FAST-NEXT: vmr v4, v25
-; FAST-NEXT: vmr v5, v24
-; FAST-NEXT: lxvd2x v29, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 240
-; FAST-NEXT: lxvd2x v28, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 224
-; FAST-NEXT: lxvd2x v27, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 208
-; FAST-NEXT: xxmrghd v9, vs0, v26
-; FAST-NEXT: lxvd2x v26, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 192
-; FAST-NEXT: lxvd2x v25, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 176
-; FAST-NEXT: lxvd2x v24, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 160
-; FAST-NEXT: lxvd2x v23, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 144
-; FAST-NEXT: lxvd2x v22, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 128
-; FAST-NEXT: lxvd2x v21, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: li r3, 112
-; FAST-NEXT: lxvd2x v20, r1, r3 # 16-byte Folded Reload
-; FAST-NEXT: addi r1, r1, 304
-; FAST-NEXT: ld r0, 16(r1)
-; FAST-NEXT: mtlr r0
-; FAST-NEXT: blr
%a = call <16 x i64> @llvm.lrint.v16i64.v16f128(<16 x fp128> %x)
ret <16 x i64> %a
}