• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc -mcpu=pwr8 -mtriple=powerpc64le-unknown-unknown -verify-machineinstrs < %s | FileCheck %s
3
4define <4 x float> @truncf32(<4 x float> %a) #0 {
5; CHECK-LABEL: truncf32:
6; CHECK:       # %bb.0:
7; CHECK-NEXT:    xvrspiz 34, 34
8; CHECK-NEXT:    blr
9  %t0 = fptosi <4 x float> %a to <4 x i32>
10  %t1 = sitofp <4 x i32> %t0 to <4 x float>
11  ret <4 x float> %t1
12}
13
14define <2 x double> @truncf64(<2 x double> %a) #0 {
15; CHECK-LABEL: truncf64:
16; CHECK:       # %bb.0:
17; CHECK-NEXT:    xvrdpiz 34, 34
18; CHECK-NEXT:    blr
19  %t0 = fptosi <2 x double> %a to <2 x i64>
20  %t1 = sitofp <2 x i64> %t0 to <2 x double>
21  ret <2 x double> %t1
22}
23
24define <4 x float> @truncf32u(<4 x float> %a) #0 {
25; CHECK-LABEL: truncf32u:
26; CHECK:       # %bb.0:
27; CHECK-NEXT:    xvrspiz 34, 34
28; CHECK-NEXT:    blr
29  %t0 = fptoui <4 x float> %a to <4 x i32>
30  %t1 = uitofp <4 x i32> %t0 to <4 x float>
31  ret <4 x float> %t1
32}
33
34define <2 x double> @truncf64u(<2 x double> %a) #0 {
35; CHECK-LABEL: truncf64u:
36; CHECK:       # %bb.0:
37; CHECK-NEXT:    xvrdpiz 34, 34
38; CHECK-NEXT:    blr
39  %t0 = fptoui <2 x double> %a to <2 x i64>
40  %t1 = uitofp <2 x i64> %t0 to <2 x double>
41  ret <2 x double> %t1
42}
43
44attributes #0 = { "no-signed-zeros-fp-math"="true" }
45
46