[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / Mips / GlobalISel / llvm-ir / fsqrt.ll
blob1bca4e893d9c3d174673ea10c1f73b45597a18f6
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc  -O0 -mtriple=mipsel-linux-gnu -global-isel -verify-machineinstrs %s -o -| FileCheck %s -check-prefixes=MIPS32,FP32
3 ; RUN: llc  -O0 -mtriple=mipsel-linux-gnu -mattr=+fp64,+mips32r2 -global-isel -verify-machineinstrs %s -o -| FileCheck %s -check-prefixes=MIPS32,FP64
5 declare float @llvm.sqrt.f32(float)
6 define float @sqrt_f32(float %a) {
7 ; MIPS32-LABEL: sqrt_f32:
8 ; MIPS32:       # %bb.0: # %entry
9 ; MIPS32-NEXT:    sqrt.s $f0, $f12
10 ; MIPS32-NEXT:    jr $ra
11 ; MIPS32-NEXT:    nop
12 entry:
13   %0 = call float @llvm.sqrt.f32(float %a)
14   ret float %0
17 declare double @llvm.sqrt.f64(double)
18 define double @sqrt_f64(double %a) {
19 ; MIPS32-LABEL: sqrt_f64:
20 ; MIPS32:       # %bb.0: # %entry
21 ; MIPS32-NEXT:    sqrt.d $f0, $f12
22 ; MIPS32-NEXT:    jr $ra
23 ; MIPS32-NEXT:    nop
24 entry:
25   %0 = call double @llvm.sqrt.f64(double %a)
26   ret double %0