mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-25 04:02:41 +01:00
3173845201
I'm really not sure why we were in the first place, it's the linker's job to convert between BL/BLX as necessary. Even worse, using BLX left Thumb calls that could be locally resolved completely unencodable since all offsets to BLX are multiples of 4. rdar://26182344 llvm-svn: 269101
17 lines
433 B
LLVM
17 lines
433 B
LLVM
; RUN: llc -mtriple=thumbv7k-apple-watchos2.0 -o - %s | FileCheck %s
|
|
|
|
declare double @sin(double) nounwind readnone
|
|
declare double @cos(double) nounwind readnone
|
|
|
|
define double @test_stret(double %in) {
|
|
; CHECK-LABEL: test_stret:
|
|
; CHECK: bl ___sincos_stret
|
|
; CHECK-NOT: ldr
|
|
; CHECK: vadd.f64 d0, d0, d1
|
|
|
|
%sin = call double @sin(double %in)
|
|
%cos = call double @cos(double %in)
|
|
%sum = fadd double %sin, %cos
|
|
ret double %sum
|
|
}
|