forked from OSchip/llvm-project
42 lines
2.2 KiB
LLVM
42 lines
2.2 KiB
LLVM
|
; RUN: llc -mtriple thumbv7-unknown-none-eabi -float-abi soft -filetype asm -o - %s | FileCheck %s -check-prefix CHECK-MATCH
|
||
|
; RUN: llc -mtriple thumbv7-unknown-none-eabi -float-abi hard -filetype asm -o - %s | FileCheck %s -check-prefix CHECK-MISMATCH -check-prefix CHECK-TO-SOFT
|
||
|
; RUN: llc -mtriple thumbv7-unknown-none-eabihf -float-abi soft -filetype asm -o - %s | FileCheck %s -check-prefix CHECK-MISMATCH -check-prefix CHECK-TO-HARD
|
||
|
; RUN: llc -mtriple thumbv7-unknown-none-eabihf -float-abi hard -filetype asm -o - %s | FileCheck %s -check-prefix CHECK-MATCH
|
||
|
|
||
|
; RUN: llc -mtriple thumbv7-unknown-none-gnueabi -float-abi soft -filetype asm -o - %s | FileCheck %s -check-prefix CHECK-MATCH
|
||
|
; RUN: llc -mtriple thumbv7-unknown-none-gnueabi -float-abi hard -filetype asm -o - %s | FileCheck %s -check-prefix CHECK-MISMATCH -check-prefix CHECK-TO-SOFT
|
||
|
; RUN: llc -mtriple thumbv7-unknown-none-gnueabihf -float-abi soft -filetype asm -o - %s | FileCheck %s -check-prefix CHECK-MISMATCH -check-prefix CHECK-TO-HARD
|
||
|
; RUN: llc -mtriple thumbv7-unknown-none-gnueabihf -float-abi hard -filetype asm -o - %s | FileCheck %s -check-prefix CHECK-MATCH
|
||
|
|
||
|
; RUN: llc -mtriple thumbv7-unknown-none-musleabi -float-abi soft -filetype asm -o - %s | FileCheck %s -check-prefix CHECK-MATCH
|
||
|
; RUN: llc -mtriple thumbv7-unknown-none-musleabi -float-abi hard -filetype asm -o - %s | FileCheck %s -check-prefix CHECK-MISMATCH -check-prefix CHECK-TO-SOFT
|
||
|
; RUN: llc -mtriple thumbv7-unknown-none-musleabihf -float-abi soft -filetype asm -o - %s | FileCheck %s -check-prefix CHECK-MISMATCH -check-prefix CHECK-TO-HARD
|
||
|
; RUN: llc -mtriple thumbv7-unknown-none-musleabihf -float-abi hard -filetype asm -o - %s | FileCheck %s -check-prefix CHECK-MATCH
|
||
|
|
||
|
declare float @llvm.powi.f32(float, i32)
|
||
|
|
||
|
define float @f(float %f, i32 %i) {
|
||
|
entry:
|
||
|
%0 = call float @llvm.powi.f32(float %f, i32 %i)
|
||
|
ret float %0
|
||
|
}
|
||
|
|
||
|
; CHECK-MATCH: b __powisf2
|
||
|
; CHECK-MISMATCH: bl __powisf2
|
||
|
; CHECK-TO-SOFT: vmov s0, r0
|
||
|
; CHECK-TO-HARD: vmov r0, s0
|
||
|
|
||
|
declare double @llvm.powi.f64(double, i32)
|
||
|
|
||
|
define double @g(double %d, i32 %i) {
|
||
|
entry:
|
||
|
%0 = call double @llvm.powi.f64(double %d, i32 %i)
|
||
|
ret double %0
|
||
|
}
|
||
|
|
||
|
; CHECK-MATCH: b __powidf2
|
||
|
; CHECK-MISMATCH: bl __powidf2
|
||
|
; CHECK-TO-SOFT: vmov d0, r0, r1
|
||
|
; CHECK-TO-HARD: vmov r0, r1, d0
|
||
|
|