[NFC][Py Reformat] Reformat python files in llvm
[llvm-project.git] / llvm / test / CodeGen / Mips / uitofp.ll
blob08cd692deb3ca7e9ea900437b4fb2cc35b3329d4
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2 ; RUN: llc -march=mips -mattr=+single-float < %s | FileCheck %s
4 define void @f0() nounwind {
5 ; CHECK-LABEL: f0:
6 ; CHECK:       # %bb.0: # %entry
7 ; CHECK-NEXT:    addiu $sp, $sp, -8
8 ; CHECK-NEXT:    addiu $1, $zero, 1
9 ; CHECK-NEXT:    sw $1, 4($sp)
10 ; CHECK-NEXT:    lw $1, 4($sp)
11 ; CHECK-NEXT:    srl $2, $1, 1
12 ; CHECK-NEXT:    andi $3, $1, 1
13 ; CHECK-NEXT:    or $2, $3, $2
14 ; CHECK-NEXT:    mtc1 $2, $f0
15 ; CHECK-NEXT:    cvt.s.w $f0, $f0
16 ; CHECK-NEXT:    add.s $f0, $f0, $f0
17 ; CHECK-NEXT:    mtc1 $1, $f1
18 ; CHECK-NEXT:    cvt.s.w $f1, $f1
19 ; CHECK-NEXT:    slti $1, $1, 0
20 ; CHECK-NEXT:    movn.s $f1, $f0, $1
21 ; CHECK-NEXT:    swc1 $f1, 0($sp)
22 ; CHECK-NEXT:    jr $ra
23 ; CHECK-NEXT:    addiu $sp, $sp, 8
24 entry:
25   %b = alloca i32, align 4
26   %a = alloca float, align 4
27   store volatile i32 1, ptr %b, align 4
28   %0 = load volatile i32, ptr %b, align 4
29   %conv = uitofp i32 %0 to float
30   store float %conv, ptr %a, align 4
31   ret void