v2f64 values, like other 128-bit values, are returned under VSX in register vs34 (Altivec register v2). llvm-svn: 204543
45 lines
808 B
LLVM
45 lines
808 B
LLVM
; RUN: llc -mcpu=pwr7 -mattr=+vsx < %s | FileCheck %s
|
|
target datalayout = "E-m:e-i64:64-n32:64"
|
|
target triple = "powerpc64-unknown-linux-gnu"
|
|
|
|
define double @test1(double %a, double %b) {
|
|
entry:
|
|
%v = fmul double %a, %b
|
|
ret double %v
|
|
|
|
; CHECK-LABEL: @test1
|
|
; CHECK: xsmuldp 1, 1, 2
|
|
; CHECK: blr
|
|
}
|
|
|
|
define double @test2(double %a, double %b) {
|
|
entry:
|
|
%v = fdiv double %a, %b
|
|
ret double %v
|
|
|
|
; CHECK-LABEL: @test2
|
|
; CHECK: xsdivdp 1, 1, 2
|
|
; CHECK: blr
|
|
}
|
|
|
|
define double @test3(double %a, double %b) {
|
|
entry:
|
|
%v = fadd double %a, %b
|
|
ret double %v
|
|
|
|
; CHECK-LABEL: @test3
|
|
; CHECK: xsadddp 1, 1, 2
|
|
; CHECK: blr
|
|
}
|
|
|
|
define <2 x double> @test4(<2 x double> %a, <2 x double> %b) {
|
|
entry:
|
|
%v = fadd <2 x double> %a, %b
|
|
ret <2 x double> %v
|
|
|
|
; CHECK-LABEL: @test4
|
|
; CHECK: xvadddp 34, 34, 35
|
|
; CHECK: blr
|
|
}
|
|
|