; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -relocation-model=pic -mtriple=mipsel-- -mcpu=mips32r5 -mattr=+abs2008 \
; RUN:     -mattr=+fp64,+msa -verify-machineinstrs -mips-jalr-reloc=false < %s | FileCheck %s \
; RUN:     --check-prefixes=MIPS32,MIPS32-O32
; RUN: llc -relocation-model=pic -mtriple=mips64el-- -mcpu=mips64r5 -mattr=+abs2008 \
; RUN:     -mattr=+fp64,+msa -verify-machineinstrs -target-abi n32 -mips-jalr-reloc=false < %s | FileCheck %s \
; RUN:     --check-prefixes=MIPS64-N32,MIPS64R5-N32
; RUN: llc -relocation-model=pic -mtriple=mips64el-- -mcpu=mips64r5 -mattr=+abs2008 \
; RUN:     -mattr=+fp64,+msa -verify-machineinstrs -target-abi n64 -mips-jalr-reloc=false < %s | FileCheck %s \
; RUN:     --check-prefixes=MIPS64-N64,MIPS64R5-N64

; RUN: llc -relocation-model=pic -mtriple=mipsel-- -mcpu=mips32r6 \
; RUN:     -mattr=+fp64,+msa -verify-machineinstrs -mips-jalr-reloc=false < %s | FileCheck %s \
; RUN:     --check-prefixes=MIPS32,MIPSR6-O32
; RUN: llc -relocation-model=pic -mtriple=mips64el-- -mcpu=mips64r6 \
; RUN:     -mattr=+fp64,+msa -verify-machineinstrs -target-abi n32 -mips-jalr-reloc=false < %s | FileCheck %s \
; RUN:     --check-prefixes=MIPS64-N32,MIPSR6-N32
; RUN: llc -relocation-model=pic -mtriple=mips64el-- -mcpu=mips64r6 \
; RUN:     -mattr=+fp64,+msa -verify-machineinstrs -target-abi n64 -mips-jalr-reloc=false < %s | FileCheck %s \
; RUN:     --check-prefixes=MIPS64-N64,MIPSR6-N64


; Check the use of frame indexes in the msa pseudo f16 instructions.

@k = external global float

declare float @k2(half *)

define void @f3(i16 %b) {
; MIPS32-LABEL: f3:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -32
; MIPS32-NEXT:    .cfi_def_cfa_offset 32
; MIPS32-NEXT:    sw $ra, 28($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 24($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $16, $2, $25
; MIPS32-NEXT:    sh $4, 22($sp)
; MIPS32-NEXT:    addiu $4, $sp, 22
; MIPS32-NEXT:    lw $25, %call16(k2)($16)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    move $gp, $16
; MIPS32-NEXT:    lw $1, %got(k)($16)
; MIPS32-NEXT:    swc1 $f0, 0($1)
; MIPS32-NEXT:    lw $16, 24($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 28($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N32-LABEL: f3:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(f3)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(f3)))
; MIPS64-N32-NEXT:    sh $4, 14($sp)
; MIPS64-N32-NEXT:    lw $25, %call16(k2)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    addiu $4, $sp, 14
; MIPS64-N32-NEXT:    lw $1, %got_disp(k)($gp)
; MIPS64-N32-NEXT:    swc1 $f0, 0($1)
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: f3:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(f3)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(f3)))
; MIPS64-N64-NEXT:    sh $4, 14($sp)
; MIPS64-N64-NEXT:    ld $25, %call16(k2)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    daddiu $4, $sp, 14
; MIPS64-N64-NEXT:    ld $1, %got_disp(k)($gp)
; MIPS64-N64-NEXT:    swc1 $f0, 0($1)
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = alloca half
  %1 = bitcast i16 %b to half
  store half %1, half * %0
  %2 = call float @k2(half * %0)
  store float %2, float * @k
  ret void
}

define void  @f(i16 %b) {
; MIPS32-LABEL: f:
; MIPS32:       # %bb.0:
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -8
; MIPS32-NEXT:    .cfi_def_cfa_offset 8
; MIPS32-NEXT:    addu $1, $2, $25
; MIPS32-NEXT:    sh $4, 4($sp)
; MIPS32-NEXT:    lh $2, 4($sp)
; MIPS32-NEXT:    fill.h $w0, $2
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $2, $w0[0]
; MIPS32-NEXT:    mtc1 $2, $f0
; MIPS32-NEXT:    lw $1, %got(k)($1)
; MIPS32-NEXT:    swc1 $f0, 0($1)
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 8
;
; MIPS64-N32-LABEL: f:
; MIPS64-N32:       # %bb.0:
; MIPS64-N32-NEXT:    addiu $sp, $sp, -16
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 16
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(f)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(f)))
; MIPS64-N32-NEXT:    sh $4, 12($sp)
; MIPS64-N32-NEXT:    lh $2, 12($sp)
; MIPS64-N32-NEXT:    fill.h $w0, $2
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N32-NEXT:    mtc1 $2, $f0
; MIPS64-N32-NEXT:    lw $1, %got_disp(k)($1)
; MIPS64-N32-NEXT:    swc1 $f0, 0($1)
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 16
;
; MIPS64-N64-LABEL: f:
; MIPS64-N64:       # %bb.0:
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -16
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 16
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(f)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(f)))
; MIPS64-N64-NEXT:    sh $4, 12($sp)
; MIPS64-N64-NEXT:    lh $2, 12($sp)
; MIPS64-N64-NEXT:    fill.h $w0, $2
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N64-NEXT:    mtc1 $2, $f0
; MIPS64-N64-NEXT:    ld $1, %got_disp(k)($1)
; MIPS64-N64-NEXT:    swc1 $f0, 0($1)
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 16
  %1 = bitcast i16 %b to half
  %2 = fpext half %1 to float
  store float %2, float * @k
  ret void
}

@g = external global i16, align 2
@h = external global half, align 2

; Check that fext f16 to double has a fexupr.w, fexupr.d sequence.
; Check that ftrunc double to f16 has fexdo.w, fexdo.h sequence.
; Check that MIPS64R5+ uses 64-bit floating point <-> 64-bit GPR transfers.

; We don't need to check if pre-MIPSR5 expansions occur, the MSA ASE requires
; MIPSR5. Additionally, fp64 mode / FR=1 is required to use MSA.

define void @fadd_f64() {
; MIPS32-LABEL: fadd_f64:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addu $1, $2, $25
; MIPS32-NEXT:    lw $1, %got(h)($1)
; MIPS32-NEXT:    lh $2, 0($1)
; MIPS32-NEXT:    fill.h $w0, $2
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    fexupr.d $w0, $w0
; MIPS32-NEXT:    copy_s.w $2, $w0[0]
; MIPS32-NEXT:    mtc1 $2, $f1
; MIPS32-NEXT:    copy_s.w $2, $w0[1]
; MIPS32-NEXT:    mthc1 $2, $f1
; MIPS32-NEXT:    add.d $f0, $f1, $f1
; MIPS32-NEXT:    mfc1 $2, $f0
; MIPS32-NEXT:    fill.w $w1, $2
; MIPS32-NEXT:    mfhc1 $2, $f0
; MIPS32-NEXT:    insert.w $w1[1], $2
; MIPS32-NEXT:    insert.w $w1[3], $2
; MIPS32-NEXT:    fexdo.w $w0, $w1, $w1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $2, $w0[0]
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    sh $2, 0($1)
;
; MIPS64-N32-LABEL: fadd_f64:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fadd_f64)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(fadd_f64)))
; MIPS64-N32-NEXT:    lw $1, %got_disp(h)($1)
; MIPS64-N32-NEXT:    lh $2, 0($1)
; MIPS64-N32-NEXT:    fill.h $w0, $2
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    fexupr.d $w0, $w0
; MIPS64-N32-NEXT:    copy_s.d $2, $w0[0]
; MIPS64-N32-NEXT:    dmtc1 $2, $f0
; MIPS64-N32-NEXT:    add.d $f0, $f0, $f0
; MIPS64-N32-NEXT:    dmfc1 $2, $f0
; MIPS64-N32-NEXT:    fill.d $w0, $2
; MIPS64-N32-NEXT:    fexdo.w $w0, $w0, $w0
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    sh $2, 0($1)
;
; MIPS64-N64-LABEL: fadd_f64:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fadd_f64)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(fadd_f64)))
; MIPS64-N64-NEXT:    ld $1, %got_disp(h)($1)
; MIPS64-N64-NEXT:    lh $2, 0($1)
; MIPS64-N64-NEXT:    fill.h $w0, $2
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    fexupr.d $w0, $w0
; MIPS64-N64-NEXT:    copy_s.d $2, $w0[0]
; MIPS64-N64-NEXT:    dmtc1 $2, $f0
; MIPS64-N64-NEXT:    add.d $f0, $f0, $f0
; MIPS64-N64-NEXT:    dmfc1 $2, $f0
; MIPS64-N64-NEXT:    fill.d $w0, $2
; MIPS64-N64-NEXT:    fexdo.w $w0, $w0, $w0
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    sh $2, 0($1)
entry:
  %0 = load half, half * @h, align 2
  %1 = fpext half %0 to double
  %2 = load half, half * @h, align 2
  %3 = fpext half %2 to double
  %add = fadd double %1, %3
  %4 = fptrunc double %add to half
   store half %4, half * @h, align 2
  ret void
}

; Entire fp16 (unsigned) range fits into (signed) i32.
define i32 @ffptoui() {
; MIPS32-LABEL: ffptoui:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addu $1, $2, $25
; MIPS32-NEXT:    lw $1, %got(h)($1)
; MIPS32-NEXT:    lh $1, 0($1)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    fexupr.d $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    mtc1 $1, $f1
; MIPS32-NEXT:    copy_s.w $1, $w0[1]
; MIPS32-NEXT:    mthc1 $1, $f1
; MIPS32-NEXT:    trunc.w.d $f0, $f1
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    mfc1 $2, $f0
;
; MIPS64-N32-LABEL: ffptoui:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(ffptoui)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(ffptoui)))
; MIPS64-N32-NEXT:    lw $1, %got_disp(h)($1)
; MIPS64-N32-NEXT:    lh $1, 0($1)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    fexupr.d $w0, $w0
; MIPS64-N32-NEXT:    copy_s.d $1, $w0[0]
; MIPS64-N32-NEXT:    dmtc1 $1, $f0
; MIPS64-N32-NEXT:    trunc.w.d $f0, $f0
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    mfc1 $2, $f0
;
; MIPS64-N64-LABEL: ffptoui:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(ffptoui)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(ffptoui)))
; MIPS64-N64-NEXT:    ld $1, %got_disp(h)($1)
; MIPS64-N64-NEXT:    lh $1, 0($1)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    fexupr.d $w0, $w0
; MIPS64-N64-NEXT:    copy_s.d $1, $w0[0]
; MIPS64-N64-NEXT:    dmtc1 $1, $f0
; MIPS64-N64-NEXT:    trunc.w.d $f0, $f0
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    mfc1 $2, $f0
entry:
  %0 = load half, half * @h, align 2
  %1 = fptoui half %0 to i32
  ret i32 %1
}

define i32 @ffptosi() {
; MIPS32-LABEL: ffptosi:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addu $1, $2, $25
; MIPS32-NEXT:    lw $1, %got(h)($1)
; MIPS32-NEXT:    lh $1, 0($1)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    fexupr.d $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    mtc1 $1, $f1
; MIPS32-NEXT:    copy_s.w $1, $w0[1]
; MIPS32-NEXT:    mthc1 $1, $f1
; MIPS32-NEXT:    trunc.w.d $f0, $f1
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    mfc1 $2, $f0
;
; MIPS64-N32-LABEL: ffptosi:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(ffptosi)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(ffptosi)))
; MIPS64-N32-NEXT:    lw $1, %got_disp(h)($1)
; MIPS64-N32-NEXT:    lh $1, 0($1)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    fexupr.d $w0, $w0
; MIPS64-N32-NEXT:    copy_s.d $1, $w0[0]
; MIPS64-N32-NEXT:    dmtc1 $1, $f0
; MIPS64-N32-NEXT:    trunc.w.d $f0, $f0
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    mfc1 $2, $f0
;
; MIPS64-N64-LABEL: ffptosi:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(ffptosi)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(ffptosi)))
; MIPS64-N64-NEXT:    ld $1, %got_disp(h)($1)
; MIPS64-N64-NEXT:    lh $1, 0($1)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    fexupr.d $w0, $w0
; MIPS64-N64-NEXT:    copy_s.d $1, $w0[0]
; MIPS64-N64-NEXT:    dmtc1 $1, $f0
; MIPS64-N64-NEXT:    trunc.w.d $f0, $f0
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    mfc1 $2, $f0
entry:
  %0 = load half, half * @h, align 2
  %1 = fptosi half %0 to i32
  ret i32 %1




}

define void @uitofp(i32 %a) {
; MIPS32-LABEL: uitofp:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -8
; MIPS32-NEXT:    .cfi_def_cfa_offset 8
; MIPS32-NEXT:    addu $1, $2, $25
; MIPS32-NEXT:    lui $2, 17200
; MIPS32-NEXT:    sw $2, 4($sp)
; MIPS32-NEXT:    sw $4, 0($sp)
; MIPS32-NEXT:    lw $2, %got($CPI5_0)($1)
; MIPS32-NEXT:    ldc1 $f0, %lo($CPI5_0)($2)
; MIPS32-NEXT:    ldc1 $f1, 0($sp)
; MIPS32-NEXT:    sub.d $f0, $f1, $f0
; MIPS32-NEXT:    mfc1 $2, $f0
; MIPS32-NEXT:    fill.w $w1, $2
; MIPS32-NEXT:    mfhc1 $2, $f0
; MIPS32-NEXT:    insert.w $w1[1], $2
; MIPS32-NEXT:    insert.w $w1[3], $2
; MIPS32-NEXT:    fexdo.w $w0, $w1, $w1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    lw $1, %got(h)($1)
; MIPS32-NEXT:    copy_u.h $2, $w0[0]
; MIPS32-NEXT:    sh $2, 0($1)
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 8
;
; MIPS64-N32-LABEL: uitofp:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -16
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 16
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(uitofp)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(uitofp)))
; MIPS64-N32-NEXT:    lui $2, 17200
; MIPS64-N32-NEXT:    sw $2, 12($sp)
; MIPS64-N32-NEXT:    sll $2, $4, 0
; MIPS64-N32-NEXT:    sw $2, 8($sp)
; MIPS64-N32-NEXT:    lw $2, %got_page(.LCPI5_0)($1)
; MIPS64-N32-NEXT:    ldc1 $f0, %got_ofst(.LCPI5_0)($2)
; MIPS64-N32-NEXT:    ldc1 $f1, 8($sp)
; MIPS64-N32-NEXT:    sub.d $f0, $f1, $f0
; MIPS64-N32-NEXT:    dmfc1 $2, $f0
; MIPS64-N32-NEXT:    fill.d $w0, $2
; MIPS64-N32-NEXT:    fexdo.w $w0, $w0, $w0
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    lw $1, %got_disp(h)($1)
; MIPS64-N32-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N32-NEXT:    sh $2, 0($1)
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 16
;
; MIPS64-N64-LABEL: uitofp:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -16
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 16
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(uitofp)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(uitofp)))
; MIPS64-N64-NEXT:    lui $2, 17200
; MIPS64-N64-NEXT:    sw $2, 12($sp)
; MIPS64-N64-NEXT:    sll $2, $4, 0
; MIPS64-N64-NEXT:    sw $2, 8($sp)
; MIPS64-N64-NEXT:    ld $2, %got_page(.LCPI5_0)($1)
; MIPS64-N64-NEXT:    ldc1 $f0, %got_ofst(.LCPI5_0)($2)
; MIPS64-N64-NEXT:    ldc1 $f1, 8($sp)
; MIPS64-N64-NEXT:    sub.d $f0, $f1, $f0
; MIPS64-N64-NEXT:    dmfc1 $2, $f0
; MIPS64-N64-NEXT:    fill.d $w0, $2
; MIPS64-N64-NEXT:    fexdo.w $w0, $w0, $w0
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    ld $1, %got_disp(h)($1)
; MIPS64-N64-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N64-NEXT:    sh $2, 0($1)
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 16
entry:









  %0 = uitofp i32 %a to half
  store half %0, half * @h, align 2
  ret void
}


; Check that f16 is expanded to f32 and relevant transfer ops occur.
; We don't check f16 -> f64 expansion occurs, as we expand f16 to f32.

define void @fadd() {
; MIPS32-LABEL: fadd:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addu $1, $2, $25
; MIPS32-NEXT:    lw $1, %got(g)($1)
; MIPS32-NEXT:    lh $2, 0($1)
; MIPS32-NEXT:    fill.h $w0, $2
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $2, $w0[0]
; MIPS32-NEXT:    mtc1 $2, $f0
; MIPS32-NEXT:    add.s $f0, $f0, $f0
; MIPS32-NEXT:    mfc1 $2, $f0
; MIPS32-NEXT:    fill.w $w0, $2
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $2, $w0[0]
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    sh $2, 0($1)
;
; MIPS64-N32-LABEL: fadd:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fadd)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(fadd)))
; MIPS64-N32-NEXT:    lw $1, %got_disp(g)($1)
; MIPS64-N32-NEXT:    lh $2, 0($1)
; MIPS64-N32-NEXT:    fill.h $w0, $2
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N32-NEXT:    mtc1 $2, $f0
; MIPS64-N32-NEXT:    add.s $f0, $f0, $f0
; MIPS64-N32-NEXT:    mfc1 $2, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $2
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    sh $2, 0($1)
;
; MIPS64-N64-LABEL: fadd:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fadd)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(fadd)))
; MIPS64-N64-NEXT:    ld $1, %got_disp(g)($1)
; MIPS64-N64-NEXT:    lh $2, 0($1)
; MIPS64-N64-NEXT:    fill.h $w0, $2
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N64-NEXT:    mtc1 $2, $f0
; MIPS64-N64-NEXT:    add.s $f0, $f0, $f0
; MIPS64-N64-NEXT:    mfc1 $2, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $2
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    sh $2, 0($1)
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %2 = load i16, i16* @g, align 2
  %3 = call float @llvm.convert.from.fp16.f32(i16 %2)
  %add = fadd float %1, %3


 %4 = call i16 @llvm.convert.to.fp16.f32(float %add)

   store i16 %4, i16* @g, align 2
  ret void
}

; Function Attrs: nounwind readnone
declare float @llvm.convert.from.fp16.f32(i16)

; Function Attrs: nounwind readnone
declare i16 @llvm.convert.to.fp16.f32(float)

; Function Attrs: nounwind
define void @fsub() {
; MIPS32-LABEL: fsub:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addu $1, $2, $25
; MIPS32-NEXT:    lw $1, %got(g)($1)
; MIPS32-NEXT:    lh $2, 0($1)
; MIPS32-NEXT:    fill.h $w0, $2
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $2, $w0[0]
; MIPS32-NEXT:    mtc1 $2, $f0
; MIPS32-NEXT:    sub.s $f0, $f0, $f0
; MIPS32-NEXT:    mfc1 $2, $f0
; MIPS32-NEXT:    fill.w $w0, $2
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $2, $w0[0]
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    sh $2, 0($1)
;
; MIPS64-N32-LABEL: fsub:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fsub)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(fsub)))
; MIPS64-N32-NEXT:    lw $1, %got_disp(g)($1)
; MIPS64-N32-NEXT:    lh $2, 0($1)
; MIPS64-N32-NEXT:    fill.h $w0, $2
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N32-NEXT:    mtc1 $2, $f0
; MIPS64-N32-NEXT:    sub.s $f0, $f0, $f0
; MIPS64-N32-NEXT:    mfc1 $2, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $2
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    sh $2, 0($1)
;
; MIPS64-N64-LABEL: fsub:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fsub)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(fsub)))
; MIPS64-N64-NEXT:    ld $1, %got_disp(g)($1)
; MIPS64-N64-NEXT:    lh $2, 0($1)
; MIPS64-N64-NEXT:    fill.h $w0, $2
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N64-NEXT:    mtc1 $2, $f0
; MIPS64-N64-NEXT:    sub.s $f0, $f0, $f0
; MIPS64-N64-NEXT:    mfc1 $2, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $2
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    sh $2, 0($1)
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %2 = load i16, i16* @g, align 2
  %3 = call float @llvm.convert.from.fp16.f32(i16 %2)
  %sub = fsub float %1, %3


  %4 = call i16 @llvm.convert.to.fp16.f32(float %sub)


  store i16 %4, i16* @g, align 2
  ret void
}

define void @fmult() {
; MIPS32-LABEL: fmult:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addu $1, $2, $25
; MIPS32-NEXT:    lw $1, %got(g)($1)
; MIPS32-NEXT:    lh $2, 0($1)
; MIPS32-NEXT:    fill.h $w0, $2
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $2, $w0[0]
; MIPS32-NEXT:    mtc1 $2, $f0
; MIPS32-NEXT:    mul.s $f0, $f0, $f0
; MIPS32-NEXT:    mfc1 $2, $f0
; MIPS32-NEXT:    fill.w $w0, $2
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $2, $w0[0]
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    sh $2, 0($1)
;
; MIPS64-N32-LABEL: fmult:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fmult)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(fmult)))
; MIPS64-N32-NEXT:    lw $1, %got_disp(g)($1)
; MIPS64-N32-NEXT:    lh $2, 0($1)
; MIPS64-N32-NEXT:    fill.h $w0, $2
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N32-NEXT:    mtc1 $2, $f0
; MIPS64-N32-NEXT:    mul.s $f0, $f0, $f0
; MIPS64-N32-NEXT:    mfc1 $2, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $2
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    sh $2, 0($1)
;
; MIPS64-N64-LABEL: fmult:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fmult)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(fmult)))
; MIPS64-N64-NEXT:    ld $1, %got_disp(g)($1)
; MIPS64-N64-NEXT:    lh $2, 0($1)
; MIPS64-N64-NEXT:    fill.h $w0, $2
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N64-NEXT:    mtc1 $2, $f0
; MIPS64-N64-NEXT:    mul.s $f0, $f0, $f0
; MIPS64-N64-NEXT:    mfc1 $2, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $2
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    sh $2, 0($1)
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %2 = load i16, i16* @g, align 2
  %3 = call float @llvm.convert.from.fp16.f32(i16 %2)
  %mul = fmul float %1, %3


  %4 = call i16 @llvm.convert.to.fp16.f32(float %mul)


  store i16 %4, i16* @g, align 2

  ret void
}

define void @fdiv() {
; MIPS32-LABEL: fdiv:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addu $1, $2, $25
; MIPS32-NEXT:    lw $1, %got(g)($1)
; MIPS32-NEXT:    lh $2, 0($1)
; MIPS32-NEXT:    fill.h $w0, $2
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $2, $w0[0]
; MIPS32-NEXT:    mtc1 $2, $f0
; MIPS32-NEXT:    div.s $f0, $f0, $f0
; MIPS32-NEXT:    mfc1 $2, $f0
; MIPS32-NEXT:    fill.w $w0, $2
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $2, $w0[0]
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    sh $2, 0($1)
;
; MIPS64-N32-LABEL: fdiv:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fdiv)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(fdiv)))
; MIPS64-N32-NEXT:    lw $1, %got_disp(g)($1)
; MIPS64-N32-NEXT:    lh $2, 0($1)
; MIPS64-N32-NEXT:    fill.h $w0, $2
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N32-NEXT:    mtc1 $2, $f0
; MIPS64-N32-NEXT:    div.s $f0, $f0, $f0
; MIPS64-N32-NEXT:    mfc1 $2, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $2
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    sh $2, 0($1)
;
; MIPS64-N64-LABEL: fdiv:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fdiv)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(fdiv)))
; MIPS64-N64-NEXT:    ld $1, %got_disp(g)($1)
; MIPS64-N64-NEXT:    lh $2, 0($1)
; MIPS64-N64-NEXT:    fill.h $w0, $2
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N64-NEXT:    mtc1 $2, $f0
; MIPS64-N64-NEXT:    div.s $f0, $f0, $f0
; MIPS64-N64-NEXT:    mfc1 $2, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $2
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    sh $2, 0($1)
entry:

  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %2 = load i16, i16* @g, align 2
  %3 = call float @llvm.convert.from.fp16.f32(i16 %2)
  %div = fdiv float %1, %3


  %4 = call i16 @llvm.convert.to.fp16.f32(float %div)

  store i16 %4, i16* @g, align 2
  ret void
}

define void @frem() {
; MIPS32-LABEL: frem:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    lw $25, %call16(fmodf)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mov.s $f14, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: frem:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(frem)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(frem)))
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    lw $25, %call16(fmodf)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mov.s $f13, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: frem:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(frem)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(frem)))
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    ld $25, %call16(fmodf)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mov.s $f13, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %2 = load i16, i16* @g, align 2
  %3 = call float @llvm.convert.from.fp16.f32(i16 %2)
  %rem = frem float %1, %3


  %4 = call i16 @llvm.convert.to.fp16.f32(float %rem)


  store i16 %4, i16* @g, align 2

  ret void
}

@i1 = external global i16, align 1

define void @fcmp() {
; MIPS32-O32-LABEL: fcmp:
; MIPS32-O32:       # %bb.0: # %entry
; MIPS32-O32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-O32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-O32-NEXT:    addu $1, $2, $25
; MIPS32-O32-NEXT:    lw $2, %got(g)($1)
; MIPS32-O32-NEXT:    lh $2, 0($2)
; MIPS32-O32-NEXT:    fill.h $w0, $2
; MIPS32-O32-NEXT:    fexupr.w $w0, $w0
; MIPS32-O32-NEXT:    copy_s.w $2, $w0[0]
; MIPS32-O32-NEXT:    mtc1 $2, $f0
; MIPS32-O32-NEXT:    addiu $2, $zero, 1
; MIPS32-O32-NEXT:    c.un.s $f0, $f0
; MIPS32-O32-NEXT:    movt $2, $zero, $fcc0
; MIPS32-O32-NEXT:    lw $1, %got(i1)($1)
; MIPS32-O32-NEXT:    jr $ra
; MIPS32-O32-NEXT:    sh $2, 0($1)
;
; MIPS64R5-N32-LABEL: fcmp:
; MIPS64R5-N32:       # %bb.0: # %entry
; MIPS64R5-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fcmp)))
; MIPS64R5-N32-NEXT:    addu $1, $1, $25
; MIPS64R5-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(fcmp)))
; MIPS64R5-N32-NEXT:    lw $2, %got_disp(g)($1)
; MIPS64R5-N32-NEXT:    lh $2, 0($2)
; MIPS64R5-N32-NEXT:    fill.h $w0, $2
; MIPS64R5-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64R5-N32-NEXT:    copy_s.w $2, $w0[0]
; MIPS64R5-N32-NEXT:    mtc1 $2, $f0
; MIPS64R5-N32-NEXT:    addiu $2, $zero, 1
; MIPS64R5-N32-NEXT:    c.un.s $f0, $f0
; MIPS64R5-N32-NEXT:    movt $2, $zero, $fcc0
; MIPS64R5-N32-NEXT:    lw $1, %got_disp(i1)($1)
; MIPS64R5-N32-NEXT:    jr $ra
; MIPS64R5-N32-NEXT:    sh $2, 0($1)
;
; MIPS64R5-N64-LABEL: fcmp:
; MIPS64R5-N64:       # %bb.0: # %entry
; MIPS64R5-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fcmp)))
; MIPS64R5-N64-NEXT:    daddu $1, $1, $25
; MIPS64R5-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(fcmp)))
; MIPS64R5-N64-NEXT:    ld $2, %got_disp(g)($1)
; MIPS64R5-N64-NEXT:    lh $2, 0($2)
; MIPS64R5-N64-NEXT:    fill.h $w0, $2
; MIPS64R5-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64R5-N64-NEXT:    copy_s.w $2, $w0[0]
; MIPS64R5-N64-NEXT:    mtc1 $2, $f0
; MIPS64R5-N64-NEXT:    addiu $2, $zero, 1
; MIPS64R5-N64-NEXT:    c.un.s $f0, $f0
; MIPS64R5-N64-NEXT:    movt $2, $zero, $fcc0
; MIPS64R5-N64-NEXT:    ld $1, %got_disp(i1)($1)
; MIPS64R5-N64-NEXT:    jr $ra
; MIPS64R5-N64-NEXT:    sh $2, 0($1)
;
; MIPSR6-O32-LABEL: fcmp:
; MIPSR6-O32:       # %bb.0: # %entry
; MIPSR6-O32-NEXT:    lui $2, %hi(_gp_disp)
; MIPSR6-O32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPSR6-O32-NEXT:    addu $1, $2, $25
; MIPSR6-O32-NEXT:    lw $2, %got(g)($1)
; MIPSR6-O32-NEXT:    lh $2, 0($2)
; MIPSR6-O32-NEXT:    fill.h $w0, $2
; MIPSR6-O32-NEXT:    fexupr.w $w0, $w0
; MIPSR6-O32-NEXT:    copy_s.w $2, $w0[0]
; MIPSR6-O32-NEXT:    mtc1 $2, $f0
; MIPSR6-O32-NEXT:    cmp.un.s $f0, $f0, $f0
; MIPSR6-O32-NEXT:    mfc1 $2, $f0
; MIPSR6-O32-NEXT:    not $2, $2
; MIPSR6-O32-NEXT:    andi $2, $2, 1
; MIPSR6-O32-NEXT:    lw $1, %got(i1)($1)
; MIPSR6-O32-NEXT:    jr $ra
; MIPSR6-O32-NEXT:    sh $2, 0($1)
;
; MIPSR6-N32-LABEL: fcmp:
; MIPSR6-N32:       # %bb.0: # %entry
; MIPSR6-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fcmp)))
; MIPSR6-N32-NEXT:    addu $1, $1, $25
; MIPSR6-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(fcmp)))
; MIPSR6-N32-NEXT:    lw $2, %got_disp(g)($1)
; MIPSR6-N32-NEXT:    lh $2, 0($2)
; MIPSR6-N32-NEXT:    fill.h $w0, $2
; MIPSR6-N32-NEXT:    fexupr.w $w0, $w0
; MIPSR6-N32-NEXT:    copy_s.w $2, $w0[0]
; MIPSR6-N32-NEXT:    mtc1 $2, $f0
; MIPSR6-N32-NEXT:    cmp.un.s $f0, $f0, $f0
; MIPSR6-N32-NEXT:    mfc1 $2, $f0
; MIPSR6-N32-NEXT:    not $2, $2
; MIPSR6-N32-NEXT:    andi $2, $2, 1
; MIPSR6-N32-NEXT:    lw $1, %got_disp(i1)($1)
; MIPSR6-N32-NEXT:    jr $ra
; MIPSR6-N32-NEXT:    sh $2, 0($1)
;
; MIPSR6-N64-LABEL: fcmp:
; MIPSR6-N64:       # %bb.0: # %entry
; MIPSR6-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fcmp)))
; MIPSR6-N64-NEXT:    daddu $1, $1, $25
; MIPSR6-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(fcmp)))
; MIPSR6-N64-NEXT:    ld $2, %got_disp(g)($1)
; MIPSR6-N64-NEXT:    lh $2, 0($2)
; MIPSR6-N64-NEXT:    fill.h $w0, $2
; MIPSR6-N64-NEXT:    fexupr.w $w0, $w0
; MIPSR6-N64-NEXT:    copy_s.w $2, $w0[0]
; MIPSR6-N64-NEXT:    mtc1 $2, $f0
; MIPSR6-N64-NEXT:    cmp.un.s $f0, $f0, $f0
; MIPSR6-N64-NEXT:    mfc1 $2, $f0
; MIPSR6-N64-NEXT:    not $2, $2
; MIPSR6-N64-NEXT:    andi $2, $2, 1
; MIPSR6-N64-NEXT:    ld $1, %got_disp(i1)($1)
; MIPSR6-N64-NEXT:    jr $ra
; MIPSR6-N64-NEXT:    sh $2, 0($1)
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)

  %2 = load i16, i16* @g, align 2
  %3 = call float @llvm.convert.from.fp16.f32(i16 %2)
  %fcmp = fcmp oeq float %1, %3


  %4 = zext i1 %fcmp to i16
  store i16 %4, i16* @i1, align 2

  ret void
}

declare float @llvm.powi.f32.i32(float, i32)

define void @fpowi() {
; MIPS32-LABEL: fpowi:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addu $1, $2, $25
; MIPS32-NEXT:    lw $1, %got(g)($1)
; MIPS32-NEXT:    lh $2, 0($1)
; MIPS32-NEXT:    fill.h $w0, $2
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $2, $w0[0]
; MIPS32-NEXT:    mtc1 $2, $f0
; MIPS32-NEXT:    mul.s $f0, $f0, $f0
; MIPS32-NEXT:    mfc1 $2, $f0
; MIPS32-NEXT:    fill.w $w0, $2
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $2, $w0[0]
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    sh $2, 0($1)
;
; MIPS64-N32-LABEL: fpowi:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fpowi)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(fpowi)))
; MIPS64-N32-NEXT:    lw $1, %got_disp(g)($1)
; MIPS64-N32-NEXT:    lh $2, 0($1)
; MIPS64-N32-NEXT:    fill.h $w0, $2
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N32-NEXT:    mtc1 $2, $f0
; MIPS64-N32-NEXT:    mul.s $f0, $f0, $f0
; MIPS64-N32-NEXT:    mfc1 $2, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $2
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    sh $2, 0($1)
;
; MIPS64-N64-LABEL: fpowi:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fpowi)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(fpowi)))
; MIPS64-N64-NEXT:    ld $1, %got_disp(g)($1)
; MIPS64-N64-NEXT:    lh $2, 0($1)
; MIPS64-N64-NEXT:    fill.h $w0, $2
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N64-NEXT:    mtc1 $2, $f0
; MIPS64-N64-NEXT:    mul.s $f0, $f0, $f0
; MIPS64-N64-NEXT:    mfc1 $2, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $2
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    sh $2, 0($1)
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %powi = call float @llvm.powi.f32.i32(float %1, i32 2)


  %2 = call i16 @llvm.convert.to.fp16.f32(float %powi)


  store i16 %2, i16* @g, align 2
  ret void
}

define void @fpowi_var(i32 %var) {
; MIPS32-LABEL: fpowi_var:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    lw $25, %call16(__powisf2)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    move $5, $4
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: fpowi_var:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fpowi_var)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(fpowi_var)))
; MIPS64-N32-NEXT:    sll $5, $4, 0
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(__powisf2)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: fpowi_var:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fpowi_var)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(fpowi_var)))
; MIPS64-N64-NEXT:    sll $5, $4, 0
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(__powisf2)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %powi = call float @llvm.powi.f32.i32(float %1, i32 %var)


  %2 = call i16 @llvm.convert.to.fp16.f32(float %powi)


  store i16 %2, i16* @g, align 2
  ret void
}

declare float @llvm.pow.f32(float %Val, float %power)

define void @fpow(float %var) {
; MIPS32-LABEL: fpow:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    mov.s $f14, $f12
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    lw $25, %call16(powf)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: fpow:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fpow)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(fpow)))
; MIPS64-N32-NEXT:    mov.s $f13, $f12
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(powf)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: fpow:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fpow)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(fpow)))
; MIPS64-N64-NEXT:    mov.s $f13, $f12
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(powf)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %powi = call float @llvm.pow.f32(float %1, float %var)


  %2 = call i16 @llvm.convert.to.fp16.f32(float %powi)


  store i16 %2, i16* @g, align 2
  ret void
}

declare float @llvm.log2.f32(float %Val)

define void @flog2() {
; MIPS32-LABEL: flog2:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    lw $25, %call16(log2f)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: flog2:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(flog2)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(flog2)))
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(log2f)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: flog2:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(flog2)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(flog2)))
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(log2f)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %log2 = call float @llvm.log2.f32(float %1)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %log2)


  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.log10.f32(float %Val)

define void @flog10() {
; MIPS32-LABEL: flog10:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    lw $25, %call16(log10f)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: flog10:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(flog10)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(flog10)))
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(log10f)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: flog10:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(flog10)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(flog10)))
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(log10f)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %log10 = call float @llvm.log10.f32(float %1)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %log10)


  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.sqrt.f32(float %Val)

define void @fsqrt() {
; MIPS32-LABEL: fsqrt:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addu $1, $2, $25
; MIPS32-NEXT:    lw $1, %got(g)($1)
; MIPS32-NEXT:    lh $2, 0($1)
; MIPS32-NEXT:    fill.h $w0, $2
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $2, $w0[0]
; MIPS32-NEXT:    mtc1 $2, $f0
; MIPS32-NEXT:    sqrt.s $f0, $f0
; MIPS32-NEXT:    mfc1 $2, $f0
; MIPS32-NEXT:    fill.w $w0, $2
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $2, $w0[0]
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    sh $2, 0($1)
;
; MIPS64-N32-LABEL: fsqrt:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fsqrt)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(fsqrt)))
; MIPS64-N32-NEXT:    lw $1, %got_disp(g)($1)
; MIPS64-N32-NEXT:    lh $2, 0($1)
; MIPS64-N32-NEXT:    fill.h $w0, $2
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N32-NEXT:    mtc1 $2, $f0
; MIPS64-N32-NEXT:    sqrt.s $f0, $f0
; MIPS64-N32-NEXT:    mfc1 $2, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $2
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    sh $2, 0($1)
;
; MIPS64-N64-LABEL: fsqrt:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fsqrt)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(fsqrt)))
; MIPS64-N64-NEXT:    ld $1, %got_disp(g)($1)
; MIPS64-N64-NEXT:    lh $2, 0($1)
; MIPS64-N64-NEXT:    fill.h $w0, $2
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N64-NEXT:    mtc1 $2, $f0
; MIPS64-N64-NEXT:    sqrt.s $f0, $f0
; MIPS64-N64-NEXT:    mfc1 $2, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $2
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    sh $2, 0($1)
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %sqrt = call float @llvm.sqrt.f32(float %1)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %sqrt)


  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.sin.f32(float %Val)

define void @fsin() {
; MIPS32-LABEL: fsin:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    lw $25, %call16(sinf)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: fsin:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fsin)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(fsin)))
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(sinf)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: fsin:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fsin)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(fsin)))
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(sinf)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %sin = call float @llvm.sin.f32(float %1)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %sin)


  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.cos.f32(float %Val)

define void @fcos() {
; MIPS32-LABEL: fcos:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    lw $25, %call16(cosf)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: fcos:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fcos)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(fcos)))
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(cosf)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: fcos:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fcos)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(fcos)))
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(cosf)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %cos = call float @llvm.cos.f32(float %1)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %cos)


  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.exp.f32(float %Val)

define void @fexp() {
; MIPS32-LABEL: fexp:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    lw $25, %call16(expf)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: fexp:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fexp)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(fexp)))
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(expf)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: fexp:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fexp)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(fexp)))
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(expf)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)

  %exp = call float @llvm.exp.f32(float %1)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %exp)


  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.exp2.f32(float %Val)

define void @fexp2() {
; MIPS32-LABEL: fexp2:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    lw $25, %call16(exp2f)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: fexp2:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fexp2)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(fexp2)))
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(exp2f)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: fexp2:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fexp2)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(fexp2)))
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(exp2f)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %exp2 = call float @llvm.exp2.f32(float %1)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %exp2)


  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.fma.f32(float, float, float)

define void @ffma(float %b, float %c) {
; MIPS32-LABEL: ffma:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    mov.s $f0, $f12
; MIPS32-NEXT:    mfc1 $6, $f14
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w1, $1
; MIPS32-NEXT:    fexupr.w $w1, $w1
; MIPS32-NEXT:    copy_s.w $1, $w1[0]
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    lw $25, %call16(fmaf)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mov.s $f14, $f0
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: ffma:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(ffma)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(ffma)))
; MIPS64-N32-NEXT:    mov.s $f14, $f13
; MIPS64-N32-NEXT:    mov.s $f13, $f12
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(fmaf)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: ffma:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(ffma)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(ffma)))
; MIPS64-N64-NEXT:    mov.s $f14, $f13
; MIPS64-N64-NEXT:    mov.s $f13, $f12
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(fmaf)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %fma = call float @llvm.fma.f32(float %1, float %b, float %c)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %fma)


  store i16 %2, i16* @g, align 2

  ret void
}

; FIXME: For MIPSR6, this should produced the maddf.s instruction. MIPSR5 cannot
;        fuse the operation such that the intermediate result is not rounded.

declare float @llvm.fmuladd.f32(float, float, float)

define void @ffmuladd(float %b, float %c) {
; MIPS32-O32-LABEL: ffmuladd:
; MIPS32-O32:       # %bb.0: # %entry
; MIPS32-O32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-O32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-O32-NEXT:    addu $1, $2, $25
; MIPS32-O32-NEXT:    lw $1, %got(g)($1)
; MIPS32-O32-NEXT:    lh $2, 0($1)
; MIPS32-O32-NEXT:    fill.h $w0, $2
; MIPS32-O32-NEXT:    fexupr.w $w0, $w0
; MIPS32-O32-NEXT:    copy_s.w $2, $w0[0]
; MIPS32-O32-NEXT:    mtc1 $2, $f0
; MIPS32-O32-NEXT:    madd.s $f0, $f14, $f0, $f12
; MIPS32-O32-NEXT:    mfc1 $2, $f0
; MIPS32-O32-NEXT:    fill.w $w0, $2
; MIPS32-O32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-O32-NEXT:    copy_u.h $2, $w0[0]
; MIPS32-O32-NEXT:    jr $ra
; MIPS32-O32-NEXT:    sh $2, 0($1)
;
; MIPS64R5-N32-LABEL: ffmuladd:
; MIPS64R5-N32:       # %bb.0: # %entry
; MIPS64R5-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(ffmuladd)))
; MIPS64R5-N32-NEXT:    addu $1, $1, $25
; MIPS64R5-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(ffmuladd)))
; MIPS64R5-N32-NEXT:    lw $1, %got_disp(g)($1)
; MIPS64R5-N32-NEXT:    lh $2, 0($1)
; MIPS64R5-N32-NEXT:    fill.h $w0, $2
; MIPS64R5-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64R5-N32-NEXT:    copy_s.w $2, $w0[0]
; MIPS64R5-N32-NEXT:    mtc1 $2, $f0
; MIPS64R5-N32-NEXT:    madd.s $f0, $f13, $f0, $f12
; MIPS64R5-N32-NEXT:    mfc1 $2, $f0
; MIPS64R5-N32-NEXT:    fill.w $w0, $2
; MIPS64R5-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64R5-N32-NEXT:    copy_u.h $2, $w0[0]
; MIPS64R5-N32-NEXT:    jr $ra
; MIPS64R5-N32-NEXT:    sh $2, 0($1)
;
; MIPS64R5-N64-LABEL: ffmuladd:
; MIPS64R5-N64:       # %bb.0: # %entry
; MIPS64R5-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(ffmuladd)))
; MIPS64R5-N64-NEXT:    daddu $1, $1, $25
; MIPS64R5-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(ffmuladd)))
; MIPS64R5-N64-NEXT:    ld $1, %got_disp(g)($1)
; MIPS64R5-N64-NEXT:    lh $2, 0($1)
; MIPS64R5-N64-NEXT:    fill.h $w0, $2
; MIPS64R5-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64R5-N64-NEXT:    copy_s.w $2, $w0[0]
; MIPS64R5-N64-NEXT:    mtc1 $2, $f0
; MIPS64R5-N64-NEXT:    madd.s $f0, $f13, $f0, $f12
; MIPS64R5-N64-NEXT:    mfc1 $2, $f0
; MIPS64R5-N64-NEXT:    fill.w $w0, $2
; MIPS64R5-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64R5-N64-NEXT:    copy_u.h $2, $w0[0]
; MIPS64R5-N64-NEXT:    jr $ra
; MIPS64R5-N64-NEXT:    sh $2, 0($1)
;
; MIPSR6-O32-LABEL: ffmuladd:
; MIPSR6-O32:       # %bb.0: # %entry
; MIPSR6-O32-NEXT:    lui $2, %hi(_gp_disp)
; MIPSR6-O32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPSR6-O32-NEXT:    addu $1, $2, $25
; MIPSR6-O32-NEXT:    lw $1, %got(g)($1)
; MIPSR6-O32-NEXT:    lh $2, 0($1)
; MIPSR6-O32-NEXT:    fill.h $w0, $2
; MIPSR6-O32-NEXT:    fexupr.w $w0, $w0
; MIPSR6-O32-NEXT:    copy_s.w $2, $w0[0]
; MIPSR6-O32-NEXT:    mtc1 $2, $f0
; MIPSR6-O32-NEXT:    mul.s $f0, $f0, $f12
; MIPSR6-O32-NEXT:    add.s $f0, $f0, $f14
; MIPSR6-O32-NEXT:    mfc1 $2, $f0
; MIPSR6-O32-NEXT:    fill.w $w0, $2
; MIPSR6-O32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPSR6-O32-NEXT:    copy_u.h $2, $w0[0]
; MIPSR6-O32-NEXT:    jr $ra
; MIPSR6-O32-NEXT:    sh $2, 0($1)
;
; MIPSR6-N32-LABEL: ffmuladd:
; MIPSR6-N32:       # %bb.0: # %entry
; MIPSR6-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(ffmuladd)))
; MIPSR6-N32-NEXT:    addu $1, $1, $25
; MIPSR6-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(ffmuladd)))
; MIPSR6-N32-NEXT:    lw $1, %got_disp(g)($1)
; MIPSR6-N32-NEXT:    lh $2, 0($1)
; MIPSR6-N32-NEXT:    fill.h $w0, $2
; MIPSR6-N32-NEXT:    fexupr.w $w0, $w0
; MIPSR6-N32-NEXT:    copy_s.w $2, $w0[0]
; MIPSR6-N32-NEXT:    mtc1 $2, $f0
; MIPSR6-N32-NEXT:    mul.s $f0, $f0, $f12
; MIPSR6-N32-NEXT:    add.s $f0, $f0, $f13
; MIPSR6-N32-NEXT:    mfc1 $2, $f0
; MIPSR6-N32-NEXT:    fill.w $w0, $2
; MIPSR6-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPSR6-N32-NEXT:    copy_u.h $2, $w0[0]
; MIPSR6-N32-NEXT:    jr $ra
; MIPSR6-N32-NEXT:    sh $2, 0($1)
;
; MIPSR6-N64-LABEL: ffmuladd:
; MIPSR6-N64:       # %bb.0: # %entry
; MIPSR6-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(ffmuladd)))
; MIPSR6-N64-NEXT:    daddu $1, $1, $25
; MIPSR6-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(ffmuladd)))
; MIPSR6-N64-NEXT:    ld $1, %got_disp(g)($1)
; MIPSR6-N64-NEXT:    lh $2, 0($1)
; MIPSR6-N64-NEXT:    fill.h $w0, $2
; MIPSR6-N64-NEXT:    fexupr.w $w0, $w0
; MIPSR6-N64-NEXT:    copy_s.w $2, $w0[0]
; MIPSR6-N64-NEXT:    mtc1 $2, $f0
; MIPSR6-N64-NEXT:    mul.s $f0, $f0, $f12
; MIPSR6-N64-NEXT:    add.s $f0, $f0, $f13
; MIPSR6-N64-NEXT:    mfc1 $2, $f0
; MIPSR6-N64-NEXT:    fill.w $w0, $2
; MIPSR6-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPSR6-N64-NEXT:    copy_u.h $2, $w0[0]
; MIPSR6-N64-NEXT:    jr $ra
; MIPSR6-N64-NEXT:    sh $2, 0($1)
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)

; MIPS32-N32:     madd.s $f[[F1:[0-9]]], $f13, $f[[F0]], $f12
; MIPS32-N64:     madd.s $f[[F1:[0-9]]], $f13, $f[[F0]], $f12

  %fmuladd = call float @llvm.fmuladd.f32(float %1, float %b, float %c)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %fmuladd)


  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.fabs.f32(float %Val)

define void @ffabs() {
; MIPS32-LABEL: ffabs:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addu $1, $2, $25
; MIPS32-NEXT:    lw $1, %got(g)($1)
; MIPS32-NEXT:    lh $2, 0($1)
; MIPS32-NEXT:    fill.h $w0, $2
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $2, $w0[0]
; MIPS32-NEXT:    mtc1 $2, $f0
; MIPS32-NEXT:    abs.s $f0, $f0
; MIPS32-NEXT:    mfc1 $2, $f0
; MIPS32-NEXT:    fill.w $w0, $2
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $2, $w0[0]
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    sh $2, 0($1)
;
; MIPS64-N32-LABEL: ffabs:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(ffabs)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(ffabs)))
; MIPS64-N32-NEXT:    lw $1, %got_disp(g)($1)
; MIPS64-N32-NEXT:    lh $2, 0($1)
; MIPS64-N32-NEXT:    fill.h $w0, $2
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N32-NEXT:    mtc1 $2, $f0
; MIPS64-N32-NEXT:    abs.s $f0, $f0
; MIPS64-N32-NEXT:    mfc1 $2, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $2
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    sh $2, 0($1)
;
; MIPS64-N64-LABEL: ffabs:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(ffabs)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(ffabs)))
; MIPS64-N64-NEXT:    ld $1, %got_disp(g)($1)
; MIPS64-N64-NEXT:    lh $2, 0($1)
; MIPS64-N64-NEXT:    fill.h $w0, $2
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N64-NEXT:    mtc1 $2, $f0
; MIPS64-N64-NEXT:    abs.s $f0, $f0
; MIPS64-N64-NEXT:    mfc1 $2, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $2
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    sh $2, 0($1)
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %fabs = call float @llvm.fabs.f32(float %1)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %fabs)


  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.minnum.f32(float %Val, float %b)

define void @fminnum(float %b) {
; MIPS32-LABEL: fminnum:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    mov.s $f14, $f12
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    lw $25, %call16(fminf)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: fminnum:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fminnum)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(fminnum)))
; MIPS64-N32-NEXT:    mov.s $f13, $f12
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(fminf)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: fminnum:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fminnum)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(fminnum)))
; MIPS64-N64-NEXT:    mov.s $f13, $f12
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(fminf)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %minnum = call float @llvm.minnum.f32(float %1, float %b)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %minnum)


  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.maxnum.f32(float %Val, float %b)

define void @fmaxnum(float %b) {
; MIPS32-LABEL: fmaxnum:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    mov.s $f14, $f12
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    lw $25, %call16(fmaxf)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: fmaxnum:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fmaxnum)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(fmaxnum)))
; MIPS64-N32-NEXT:    mov.s $f13, $f12
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(fmaxf)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: fmaxnum:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fmaxnum)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(fmaxnum)))
; MIPS64-N64-NEXT:    mov.s $f13, $f12
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(fmaxf)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %maxnum = call float @llvm.maxnum.f32(float %1, float %b)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %maxnum)


  store i16 %2, i16* @g, align 2

  ret void
}

; This expansion of fcopysign could be done without converting f16 to float.

declare float @llvm.copysign.f32(float %Val, float %b)

define void @fcopysign(float %b) {
; MIPS32-LABEL: fcopysign:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addu $1, $2, $25
; MIPS32-NEXT:    lw $1, %got(g)($1)
; MIPS32-NEXT:    lh $2, 0($1)
; MIPS32-NEXT:    fill.h $w0, $2
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $2, $w0[0]
; MIPS32-NEXT:    mfc1 $3, $f12
; MIPS32-NEXT:    ext $3, $3, 31, 1
; MIPS32-NEXT:    ins $2, $3, 31, 1
; MIPS32-NEXT:    fill.w $w0, $2
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $2, $w0[0]
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    sh $2, 0($1)
;
; MIPS64-N32-LABEL: fcopysign:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fcopysign)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $1, $1, %lo(%neg(%gp_rel(fcopysign)))
; MIPS64-N32-NEXT:    lw $1, %got_disp(g)($1)
; MIPS64-N32-NEXT:    lh $2, 0($1)
; MIPS64-N32-NEXT:    fill.h $w0, $2
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N32-NEXT:    mfc1 $3, $f12
; MIPS64-N32-NEXT:    ext $3, $3, 31, 1
; MIPS64-N32-NEXT:    ins $2, $3, 31, 1
; MIPS64-N32-NEXT:    fill.w $w0, $2
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    sh $2, 0($1)
;
; MIPS64-N64-LABEL: fcopysign:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fcopysign)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(fcopysign)))
; MIPS64-N64-NEXT:    ld $1, %got_disp(g)($1)
; MIPS64-N64-NEXT:    lh $2, 0($1)
; MIPS64-N64-NEXT:    fill.h $w0, $2
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $2, $w0[0]
; MIPS64-N64-NEXT:    mfc1 $3, $f12
; MIPS64-N64-NEXT:    ext $3, $3, 31, 1
; MIPS64-N64-NEXT:    ins $2, $3, 31, 1
; MIPS64-N64-NEXT:    fill.w $w0, $2
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $2, $w0[0]
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    sh $2, 0($1)
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %copysign = call float @llvm.copysign.f32(float %1, float %b)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %copysign)


  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.floor.f32(float %Val)

define void @ffloor() {
; MIPS32-LABEL: ffloor:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    lw $25, %call16(floorf)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: ffloor:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(ffloor)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(ffloor)))
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(floorf)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: ffloor:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(ffloor)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(ffloor)))
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(floorf)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %floor = call float @llvm.floor.f32(float %1)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %floor)


  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.ceil.f32(float %Val)

define void @fceil() {
; MIPS32-LABEL: fceil:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    lw $25, %call16(ceilf)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: fceil:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fceil)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(fceil)))
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(ceilf)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: fceil:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fceil)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(fceil)))
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(ceilf)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %ceil = call float @llvm.ceil.f32(float %1)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %ceil)


  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.trunc.f32(float %Val)

define void @ftrunc() {
; MIPS32-LABEL: ftrunc:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    lw $25, %call16(truncf)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: ftrunc:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(ftrunc)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(ftrunc)))
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(truncf)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: ftrunc:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(ftrunc)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(ftrunc)))
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(truncf)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %trunc = call float @llvm.trunc.f32(float %1)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %trunc)


  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.rint.f32(float %Val)

define void @frint() {
; MIPS32-LABEL: frint:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    lw $25, %call16(rintf)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: frint:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(frint)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(frint)))
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(rintf)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: frint:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(frint)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(frint)))
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(rintf)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)

  %rint = call float @llvm.rint.f32(float %1)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %rint)

  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.nearbyint.f32(float %Val)

define void @fnearbyint() {
; MIPS32-LABEL: fnearbyint:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    lw $25, %call16(nearbyintf)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: fnearbyint:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fnearbyint)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(fnearbyint)))
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(nearbyintf)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: fnearbyint:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fnearbyint)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(fnearbyint)))
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(nearbyintf)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %nearbyint = call float @llvm.nearbyint.f32(float %1)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %nearbyint)


  store i16 %2, i16* @g, align 2

  ret void
}

declare float @llvm.round.f32(float %Val)

define void @fround() {
; MIPS32-LABEL: fround:
; MIPS32:       # %bb.0: # %entry
; MIPS32-NEXT:    lui $2, %hi(_gp_disp)
; MIPS32-NEXT:    addiu $2, $2, %lo(_gp_disp)
; MIPS32-NEXT:    addiu $sp, $sp, -24
; MIPS32-NEXT:    .cfi_def_cfa_offset 24
; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    sw $16, 16($sp) # 4-byte Folded Spill
; MIPS32-NEXT:    .cfi_offset 31, -4
; MIPS32-NEXT:    .cfi_offset 16, -8
; MIPS32-NEXT:    addu $gp, $2, $25
; MIPS32-NEXT:    lw $16, %got(g)($gp)
; MIPS32-NEXT:    lh $1, 0($16)
; MIPS32-NEXT:    fill.h $w0, $1
; MIPS32-NEXT:    fexupr.w $w0, $w0
; MIPS32-NEXT:    copy_s.w $1, $w0[0]
; MIPS32-NEXT:    lw $25, %call16(roundf)($gp)
; MIPS32-NEXT:    jalr $25
; MIPS32-NEXT:    mtc1 $1, $f12
; MIPS32-NEXT:    mfc1 $1, $f0
; MIPS32-NEXT:    fill.w $w0, $1
; MIPS32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS32-NEXT:    copy_u.h $1, $w0[0]
; MIPS32-NEXT:    sh $1, 0($16)
; MIPS32-NEXT:    lw $16, 16($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
; MIPS32-NEXT:    jr $ra
; MIPS32-NEXT:    addiu $sp, $sp, 24
;
; MIPS64-N32-LABEL: fround:
; MIPS64-N32:       # %bb.0: # %entry
; MIPS64-N32-NEXT:    addiu $sp, $sp, -32
; MIPS64-N32-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N32-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N32-NEXT:    .cfi_offset 31, -8
; MIPS64-N32-NEXT:    .cfi_offset 28, -16
; MIPS64-N32-NEXT:    .cfi_offset 16, -24
; MIPS64-N32-NEXT:    lui $1, %hi(%neg(%gp_rel(fround)))
; MIPS64-N32-NEXT:    addu $1, $1, $25
; MIPS64-N32-NEXT:    addiu $gp, $1, %lo(%neg(%gp_rel(fround)))
; MIPS64-N32-NEXT:    lw $16, %got_disp(g)($gp)
; MIPS64-N32-NEXT:    lh $1, 0($16)
; MIPS64-N32-NEXT:    fill.h $w0, $1
; MIPS64-N32-NEXT:    fexupr.w $w0, $w0
; MIPS64-N32-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N32-NEXT:    lw $25, %call16(roundf)($gp)
; MIPS64-N32-NEXT:    jalr $25
; MIPS64-N32-NEXT:    mtc1 $1, $f12
; MIPS64-N32-NEXT:    mfc1 $1, $f0
; MIPS64-N32-NEXT:    fill.w $w0, $1
; MIPS64-N32-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N32-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N32-NEXT:    sh $1, 0($16)
; MIPS64-N32-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N32-NEXT:    jr $ra
; MIPS64-N32-NEXT:    addiu $sp, $sp, 32
;
; MIPS64-N64-LABEL: fround:
; MIPS64-N64:       # %bb.0: # %entry
; MIPS64-N64-NEXT:    daddiu $sp, $sp, -32
; MIPS64-N64-NEXT:    .cfi_def_cfa_offset 32
; MIPS64-N64-NEXT:    sd $ra, 24($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $gp, 16($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    sd $16, 8($sp) # 8-byte Folded Spill
; MIPS64-N64-NEXT:    .cfi_offset 31, -8
; MIPS64-N64-NEXT:    .cfi_offset 28, -16
; MIPS64-N64-NEXT:    .cfi_offset 16, -24
; MIPS64-N64-NEXT:    lui $1, %hi(%neg(%gp_rel(fround)))
; MIPS64-N64-NEXT:    daddu $1, $1, $25
; MIPS64-N64-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(fround)))
; MIPS64-N64-NEXT:    ld $16, %got_disp(g)($gp)
; MIPS64-N64-NEXT:    lh $1, 0($16)
; MIPS64-N64-NEXT:    fill.h $w0, $1
; MIPS64-N64-NEXT:    fexupr.w $w0, $w0
; MIPS64-N64-NEXT:    copy_s.w $1, $w0[0]
; MIPS64-N64-NEXT:    ld $25, %call16(roundf)($gp)
; MIPS64-N64-NEXT:    jalr $25
; MIPS64-N64-NEXT:    mtc1 $1, $f12
; MIPS64-N64-NEXT:    mfc1 $1, $f0
; MIPS64-N64-NEXT:    fill.w $w0, $1
; MIPS64-N64-NEXT:    fexdo.h $w0, $w0, $w0
; MIPS64-N64-NEXT:    copy_u.h $1, $w0[0]
; MIPS64-N64-NEXT:    sh $1, 0($16)
; MIPS64-N64-NEXT:    ld $16, 8($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $gp, 16($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    ld $ra, 24($sp) # 8-byte Folded Reload
; MIPS64-N64-NEXT:    jr $ra
; MIPS64-N64-NEXT:    daddiu $sp, $sp, 32
entry:
  %0 = load i16, i16* @g, align 2
  %1 = call float @llvm.convert.from.fp16.f32(i16 %0)


  %round = call float @llvm.round.f32(float %1)
  %2 = call i16 @llvm.convert.to.fp16.f32(float %round)


  store i16 %2, i16* @g, align 2

  ret void
}
