41 lines · plain
1; RUN: llc -mtriple=armv7 < %s | FileCheck %s2; RUN: llc -mtriple=thumbv7 < %s | FileCheck %s3 4target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"5target triple = "armv7--"6 7define double @f(double %a) {8 ; CHECK-LABEL: f:9 ; CHECK: bfc r1, #31, #110 ; CHECK-NEXT: bx lr11 %x = call double @llvm.fabs.f64(double %a) readnone12 ret double %x13}14 15define float @g(float %a) {16 ; CHECK-LABEL: g:17 ; CHECK: bic r0, r0, #-214748364818 ; CHECK-NEXT: bx lr19 %x = call float @llvm.fabs.f32(float %a) readnone20 ret float %x21}22 23define double @h(double %a) {24 ; CHECK-LABEL: h:25 ; CHECK: eor r1, r1, #-214748364826 ; CHECK-NEXT: bx lr27 %x = fsub nsz double -0.0, %a28 ret double %x29}30 31define float @i(float %a) {32 ; CHECK-LABEL: i:33 ; CHECK: eor r0, r0, #-214748364834 ; CHECK-NEXT: bx lr35 %x = fsub nsz float -0.0, %a36 ret float %x37}38 39declare double @llvm.fabs.f64(double) readnone40declare float @llvm.fabs.f32(float) readnone41