[llvm] e879fde - [NFC] Autogenerate several Mips test.

Amaury Séchet via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 14 15:27:50 PDT 2023


Author: Amaury Séchet
Date: 2023-06-14T22:27:15Z
New Revision: e879fded2a0267a974994efcb9212efb615f3305

URL: https://github.com/llvm/llvm-project/commit/e879fded2a0267a974994efcb9212efb615f3305
DIFF: https://github.com/llvm/llvm-project/commit/e879fded2a0267a974994efcb9212efb615f3305.diff

LOG: [NFC] Autogenerate several Mips test.

Added: 
    

Modified: 
    llvm/test/CodeGen/Mips/dins.ll
    llvm/test/CodeGen/Mips/micromips-sizereduction/micromips-lbu16-lhu16-sb16-sh16.ll
    llvm/test/CodeGen/Mips/mips64-f128.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/Mips/dins.ll b/llvm/test/CodeGen/Mips/dins.ll
index 02a8efd5c0382..4deb7455a8012 100644
--- a/llvm/test/CodeGen/Mips/dins.ll
+++ b/llvm/test/CodeGen/Mips/dins.ll
@@ -1,3 +1,4 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
 ; RUN: llc -O2 -verify-machineinstrs -march=mips64 -mcpu=mips64r2 \
 ; RUN:   -target-abi=n64 < %s -o - | FileCheck %s -check-prefix=MIPS64R2
 ; RUN: llc -O2 -verify-machineinstrs -march=mips -mcpu=mips32r2 < %s -o - \
@@ -31,6 +32,177 @@
 ; Testing of selection INS/DINS instruction
 
 define i64 @f123(i64 inreg %bufptr.coerce0, i64 inreg %bufptr.coerce1) local_unnamed_addr #0 {
+; MIPS64R2-LABEL: f123:
+; MIPS64R2:       # %bb.0: # %entry
+; MIPS64R2-NEXT:    daddiu $sp, $sp, -16
+; MIPS64R2-NEXT:    .cfi_def_cfa_offset 16
+; MIPS64R2-NEXT:    sd $4, 8($sp)
+; MIPS64R2-NEXT:    sd $5, 0($sp)
+; MIPS64R2-NEXT:    daddiu $1, $zero, 123
+; MIPS64R2-NEXT:    ld $2, 8($sp)
+; MIPS64R2-NEXT:    dinsm $2, $1, 27, 37
+; MIPS64R2-NEXT:    sd $2, 8($sp)
+; MIPS64R2-NEXT:    daddiu $1, $zero, 4
+; MIPS64R2-NEXT:    ld $2, 0($sp)
+; MIPS64R2-NEXT:    dinsm $2, $1, 28, 6
+; MIPS64R2-NEXT:    daddiu $1, $zero, 5
+; MIPS64R2-NEXT:    sd $2, 0($sp)
+; MIPS64R2-NEXT:    ld $2, 0($sp)
+; MIPS64R2-NEXT:    dinsu $2, $1, 50, 14
+; MIPS64R2-NEXT:    sd $2, 0($sp)
+; MIPS64R2-NEXT:    ld $1, 0($sp)
+; MIPS64R2-NEXT:    dsrl $1, $1, 50
+; MIPS64R2-NEXT:    ld $2, 0($sp)
+; MIPS64R2-NEXT:    dinsu $2, $1, 34, 16
+; MIPS64R2-NEXT:    sd $2, 0($sp)
+; MIPS64R2-NEXT:    ld $1, 8($sp)
+; MIPS64R2-NEXT:    dsrl $2, $1, 27
+; MIPS64R2-NEXT:    jr $ra
+; MIPS64R2-NEXT:    daddiu $sp, $sp, 16
+;
+; MIPS32R2-LABEL: f123:
+; MIPS32R2:       # %bb.0: # %entry
+; MIPS32R2-NEXT:    addiu $sp, $sp, -16
+; MIPS32R2-NEXT:    .cfi_def_cfa_offset 16
+; MIPS32R2-NEXT:    lw $1, 8($sp)
+; MIPS32R2-NEXT:    lw $1, 12($sp)
+; MIPS32R2-NEXT:    addiu $2, $zero, 3
+; MIPS32R2-NEXT:    sw $2, 8($sp)
+; MIPS32R2-NEXT:    ext $1, $1, 0, 27
+; MIPS32R2-NEXT:    lui $2, 55296
+; MIPS32R2-NEXT:    or $1, $1, $2
+; MIPS32R2-NEXT:    sw $1, 12($sp)
+; MIPS32R2-NEXT:    addiu $1, $zero, -4
+; MIPS32R2-NEXT:    lw $2, 0($sp)
+; MIPS32R2-NEXT:    and $1, $2, $1
+; MIPS32R2-NEXT:    lw $2, 4($sp)
+; MIPS32R2-NEXT:    sw $1, 0($sp)
+; MIPS32R2-NEXT:    ext $1, $2, 0, 28
+; MIPS32R2-NEXT:    lui $2, 16384
+; MIPS32R2-NEXT:    or $1, $1, $2
+; MIPS32R2-NEXT:    lui $2, 20
+; MIPS32R2-NEXT:    sw $1, 4($sp)
+; MIPS32R2-NEXT:    lw $1, 0($sp)
+; MIPS32R2-NEXT:    lw $3, 4($sp)
+; MIPS32R2-NEXT:    sw $3, 4($sp)
+; MIPS32R2-NEXT:    ext $1, $1, 0, 18
+; MIPS32R2-NEXT:    or $1, $1, $2
+; MIPS32R2-NEXT:    sw $1, 0($sp)
+; MIPS32R2-NEXT:    lw $1, 4($sp)
+; MIPS32R2-NEXT:    lw $1, 0($sp)
+; MIPS32R2-NEXT:    lw $2, 0($sp)
+; MIPS32R2-NEXT:    lw $3, 4($sp)
+; MIPS32R2-NEXT:    sw $3, 4($sp)
+; MIPS32R2-NEXT:    srl $1, $1, 18
+; MIPS32R2-NEXT:    ins $2, $1, 2, 16
+; MIPS32R2-NEXT:    sw $2, 0($sp)
+; MIPS32R2-NEXT:    lw $1, 8($sp)
+; MIPS32R2-NEXT:    sll $2, $1, 5
+; MIPS32R2-NEXT:    lw $3, 12($sp)
+; MIPS32R2-NEXT:    srl $3, $3, 27
+; MIPS32R2-NEXT:    or $3, $3, $2
+; MIPS32R2-NEXT:    srl $2, $1, 27
+; MIPS32R2-NEXT:    jr $ra
+; MIPS32R2-NEXT:    addiu $sp, $sp, 16
+;
+; MIPS16-LABEL: f123:
+; MIPS16:       # %bb.0: # %entry
+; MIPS16-NEXT:    save 16 # 16 bit inst
+; MIPS16-EMPTY:
+; MIPS16-NEXT:    .cfi_def_cfa_offset 16
+; MIPS16-NEXT:    lw $2, 8($sp)
+; MIPS16-NEXT:    lw $2, 12($sp)
+; MIPS16-NEXT:    li $3, 3
+; MIPS16-NEXT:    sw $3, 8($sp)
+; MIPS16-NEXT:    lw $3, $CPI0_0 # 16 bit inst
+; MIPS16-NEXT:    and $3, $2
+; MIPS16-NEXT:    lw $2, $CPI0_1 # 16 bit inst
+; MIPS16-NEXT:    or $2, $3
+; MIPS16-NEXT:    sw $2, 12($sp)
+; MIPS16-NEXT:    move $2, $zero
+; MIPS16-NEXT:    addiu $2, -4
+; MIPS16-NEXT:    lw $3, 0($sp)
+; MIPS16-NEXT:    and $3, $2
+; MIPS16-NEXT:    lw $2, 4($sp)
+; MIPS16-NEXT:    sw $3, 0($sp)
+; MIPS16-NEXT:    lw $3, $CPI0_2 # 16 bit inst
+; MIPS16-NEXT:    and $3, $2
+; MIPS16-NEXT:    lw $2, $CPI0_3 # 16 bit inst
+; MIPS16-NEXT:    or $2, $3
+; MIPS16-NEXT:    sw $2, 4($sp)
+; MIPS16-NEXT:    lw $2, 0($sp)
+; MIPS16-NEXT:    lw $3, 4($sp)
+; MIPS16-NEXT:    sw $3, 4($sp)
+; MIPS16-NEXT:    lw $3, $CPI0_4 # 16 bit inst
+; MIPS16-NEXT:    and $3, $2
+; MIPS16-NEXT:    lw $2, $CPI0_5 # 16 bit inst
+; MIPS16-NEXT:    or $2, $3
+; MIPS16-NEXT:    sw $2, 0($sp)
+; MIPS16-NEXT:    lw $2, 4($sp)
+; MIPS16-NEXT:    lw $2, 0($sp)
+; MIPS16-NEXT:    lw $3, 0($sp)
+; MIPS16-NEXT:    lw $4, 4($sp)
+; MIPS16-NEXT:    sw $4, 4($sp)
+; MIPS16-NEXT:    srl $2, $2, 16
+; MIPS16-NEXT:    li $4, 65532
+; MIPS16-NEXT:    and $4, $2
+; MIPS16-NEXT:    lw $2, $CPI0_6 # 16 bit inst
+; MIPS16-NEXT:    and $2, $3
+; MIPS16-NEXT:    or $2, $4
+; MIPS16-NEXT:    sw $2, 0($sp)
+; MIPS16-NEXT:    lw $2, 12($sp)
+; MIPS16-NEXT:    srl $2, $2, 27
+; MIPS16-NEXT:    lw $4, 8($sp)
+; MIPS16-NEXT:    sll $3, $4, 5
+; MIPS16-NEXT:    or $3, $2
+; MIPS16-NEXT:    srl $2, $4, 27
+; MIPS16-NEXT:    restore 16 # 16 bit inst
+; MIPS16-EMPTY:
+; MIPS16-NEXT:    jrc $ra
+; MIPS16-NEXT:    .p2align 2
+; MIPS16-NEXT:  # %bb.1:
+; MIPS16-NEXT:  $CPI0_0:
+; MIPS16-NEXT:    .4byte 134217727 # 0x7ffffff
+; MIPS16-NEXT:  $CPI0_1:
+; MIPS16-NEXT:    .4byte 3623878656 # 0xd8000000
+; MIPS16-NEXT:  $CPI0_2:
+; MIPS16-NEXT:    .4byte 268435455 # 0xfffffff
+; MIPS16-NEXT:  $CPI0_3:
+; MIPS16-NEXT:    .4byte 1073741824 # 0x40000000
+; MIPS16-NEXT:  $CPI0_4:
+; MIPS16-NEXT:    .4byte 262143 # 0x3ffff
+; MIPS16-NEXT:  $CPI0_5:
+; MIPS16-NEXT:    .4byte 1310720 # 0x140000
+; MIPS16-NEXT:  $CPI0_6:
+; MIPS16-NEXT:    .4byte 4294705155 # 0xfffc0003
+;
+; MIPS64R2N32-LABEL: f123:
+; MIPS64R2N32:       # %bb.0: # %entry
+; MIPS64R2N32-NEXT:    addiu $sp, $sp, -16
+; MIPS64R2N32-NEXT:    .cfi_def_cfa_offset 16
+; MIPS64R2N32-NEXT:    sd $4, 8($sp)
+; MIPS64R2N32-NEXT:    sd $5, 0($sp)
+; MIPS64R2N32-NEXT:    daddiu $1, $zero, 123
+; MIPS64R2N32-NEXT:    ld $2, 8($sp)
+; MIPS64R2N32-NEXT:    dinsm $2, $1, 27, 37
+; MIPS64R2N32-NEXT:    sd $2, 8($sp)
+; MIPS64R2N32-NEXT:    daddiu $1, $zero, 4
+; MIPS64R2N32-NEXT:    ld $2, 0($sp)
+; MIPS64R2N32-NEXT:    dinsm $2, $1, 28, 6
+; MIPS64R2N32-NEXT:    daddiu $1, $zero, 5
+; MIPS64R2N32-NEXT:    sd $2, 0($sp)
+; MIPS64R2N32-NEXT:    ld $2, 0($sp)
+; MIPS64R2N32-NEXT:    dinsu $2, $1, 50, 14
+; MIPS64R2N32-NEXT:    sd $2, 0($sp)
+; MIPS64R2N32-NEXT:    ld $1, 0($sp)
+; MIPS64R2N32-NEXT:    dsrl $1, $1, 50
+; MIPS64R2N32-NEXT:    ld $2, 0($sp)
+; MIPS64R2N32-NEXT:    dinsu $2, $1, 34, 16
+; MIPS64R2N32-NEXT:    sd $2, 0($sp)
+; MIPS64R2N32-NEXT:    ld $1, 8($sp)
+; MIPS64R2N32-NEXT:    dsrl $2, $1, 27
+; MIPS64R2N32-NEXT:    jr $ra
+; MIPS64R2N32-NEXT:    addiu $sp, $sp, 16
 entry:
   %bufptr.sroa.0 = alloca i64, align 8
   %bufptr.sroa.4 = alloca i64, align 8
@@ -60,20 +232,6 @@ entry:
   ret i64 %bf.lshr18
 }
 
-; CHECK-LABEL: f123:
-; MIPS64R2: daddiu  $[[R0:[0-9]+]], $zero, 123
-; MIPS64R2: dinsm   $[[R0:[0-9]+]], $[[R1:[0-9]+]], 27, 37
-; MIPS64R2: daddiu  $[[R0:[0-9]+]], $zero, 4
-; MIPS64R2: dinsm   $[[R0:[0-9]+]], $[[R1:[0-9]+]], 28, 6
-; MIPS64R2: daddiu  $[[R0:[0-9]+]], $zero, 5
-; MIPS64R2: dinsu   $[[R0:[0-9]+]], $[[R1:[0-9]+]], 50, 14
-; MIPS64R2: dsrl    $[[R0:[0-9]+]], $[[R1:[0-9]+]], 50
-; MIPS64R2: dinsu   $[[R0:[0-9]+]], $[[R1:[0-9]+]], 34, 16
-; MIPS32R2: ins     $[[R0:[0-9]+]], $[[R1:[0-9]+]], 2, 16
-; MIPS32R2-NOT: ins $[[R0:[0-9]+]], $[[R1:[0-9]+]], 18, 46
-; MIPS16-NOT: ins{{[[:space:]].*}}
-
-
 ; int foo(volatile int x) {
 ;   int y = x;
 ;   y = y & -4;
@@ -82,6 +240,61 @@ entry:
 ; }
 
 define i32 @foo(i32 signext %x) {
+; MIPS64R2-LABEL: foo:
+; MIPS64R2:       # %bb.0: # %entry
+; MIPS64R2-NEXT:    daddiu $sp, $sp, -16
+; MIPS64R2-NEXT:    .cfi_def_cfa_offset 16
+; MIPS64R2-NEXT:    sw $4, 12($sp)
+; MIPS64R2-NEXT:    addiu $1, $zero, -4
+; MIPS64R2-NEXT:    lw $2, 12($sp)
+; MIPS64R2-NEXT:    and $2, $2, $1
+; MIPS64R2-NEXT:    ori $1, $2, 8
+; MIPS64R2-NEXT:    sw $1, 12($sp)
+; MIPS64R2-NEXT:    jr $ra
+; MIPS64R2-NEXT:    daddiu $sp, $sp, 16
+;
+; MIPS32R2-LABEL: foo:
+; MIPS32R2:       # %bb.0: # %entry
+; MIPS32R2-NEXT:    addiu $sp, $sp, -8
+; MIPS32R2-NEXT:    .cfi_def_cfa_offset 8
+; MIPS32R2-NEXT:    sw $4, 4($sp)
+; MIPS32R2-NEXT:    addiu $1, $zero, -4
+; MIPS32R2-NEXT:    lw $2, 4($sp)
+; MIPS32R2-NEXT:    and $2, $2, $1
+; MIPS32R2-NEXT:    ori $1, $2, 8
+; MIPS32R2-NEXT:    sw $1, 4($sp)
+; MIPS32R2-NEXT:    jr $ra
+; MIPS32R2-NEXT:    addiu $sp, $sp, 8
+;
+; MIPS16-LABEL: foo:
+; MIPS16:       # %bb.0: # %entry
+; MIPS16-NEXT:    save 8 # 16 bit inst
+; MIPS16-EMPTY:
+; MIPS16-NEXT:    .cfi_def_cfa_offset 8
+; MIPS16-NEXT:    sw $4, 4($sp)
+; MIPS16-NEXT:    move $3, $zero
+; MIPS16-NEXT:    addiu $3, -4
+; MIPS16-NEXT:    lw $2, 4($sp)
+; MIPS16-NEXT:    and $2, $3
+; MIPS16-NEXT:    li $3, 8
+; MIPS16-NEXT:    or $3, $2
+; MIPS16-NEXT:    sw $3, 4($sp)
+; MIPS16-NEXT:    restore 8 # 16 bit inst
+; MIPS16-EMPTY:
+; MIPS16-NEXT:    jrc $ra
+;
+; MIPS64R2N32-LABEL: foo:
+; MIPS64R2N32:       # %bb.0: # %entry
+; MIPS64R2N32-NEXT:    addiu $sp, $sp, -16
+; MIPS64R2N32-NEXT:    .cfi_def_cfa_offset 16
+; MIPS64R2N32-NEXT:    sw $4, 12($sp)
+; MIPS64R2N32-NEXT:    addiu $1, $zero, -4
+; MIPS64R2N32-NEXT:    lw $2, 12($sp)
+; MIPS64R2N32-NEXT:    and $2, $2, $1
+; MIPS64R2N32-NEXT:    ori $1, $2, 8
+; MIPS64R2N32-NEXT:    sw $1, 12($sp)
+; MIPS64R2N32-NEXT:    jr $ra
+; MIPS64R2N32-NEXT:    addiu $sp, $sp, 16
 entry:
   %x.addr = alloca i32, align 4
   store volatile i32 %x, ptr %x.addr, align 4
@@ -91,11 +304,3 @@ entry:
   store volatile i32 %or, ptr %x.addr, align 4
   ret i32 %and
 }
-
-; CHECK-LABEL: foo:
-; MIPS64R2:        ori  $[[R0:[0-9]+]], $[[R0:[0-9]+]], 8
-; MIPS64R2-NOT:    ins {{[[:space:]].*}}
-; MIPS32R2:        ori  $[[R0:[0-9]+]], $[[R0:[0-9]+]], 8
-; MIPS32R2-NOT:    ins {{[[:space:]].*}}
-; MIPS64R2N32:     ori  $[[R0:[0-9]+]], $[[R0:[0-9]+]], 8
-; MIPS64R2N32-NOT: ins {{[[:space:]].*}}

diff  --git a/llvm/test/CodeGen/Mips/micromips-sizereduction/micromips-lbu16-lhu16-sb16-sh16.ll b/llvm/test/CodeGen/Mips/micromips-sizereduction/micromips-lbu16-lhu16-sb16-sh16.ll
index f8f0955980cce..4cada64548f47 100644
--- a/llvm/test/CodeGen/Mips/micromips-sizereduction/micromips-lbu16-lhu16-sb16-sh16.ll
+++ b/llvm/test/CodeGen/Mips/micromips-sizereduction/micromips-lbu16-lhu16-sb16-sh16.ll
@@ -1,10 +1,18 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
 ; RUN: llc -march=mipsel -mcpu=mips32r2 -mattr=+micromips -verify-machineinstrs < %s | FileCheck %s
 
 define void @f1(ptr %p) {
-entry:
 ; CHECK-LABEL: f1:
-; CHECK: lbu16
-; CHECK: sb16
+; CHECK:       # %bb.0: # %entry
+; CHECK-NEXT:    lbu16 $2, 0($4)
+; CHECK-NEXT:    andi16 $2, $2, 1
+; CHECK-NEXT:    bnezc $2, $BB0_2
+; CHECK-NEXT:  # %bb.1: # %if.then
+; CHECK-NEXT:    li16 $2, 0
+; CHECK-NEXT:    sb16 $2, 0($4)
+; CHECK-NEXT:  $BB0_2: # %if.end
+; CHECK-NEXT:    jrc $ra
+entry:
   %0 = load i8, ptr %p, align 4
   %a = zext i8 %0 to i32
   %and = and i32 %a, 1
@@ -20,10 +28,17 @@ if.end:
 }
 
 define void @f2(ptr %p) {
-entry:
 ; CHECK-LABEL: f2:
-; CHECK: lhu16
-; CHECK: sh16
+; CHECK:       # %bb.0: # %entry
+; CHECK-NEXT:    lhu16 $2, 0($4)
+; CHECK-NEXT:    andi16 $2, $2, 2
+; CHECK-NEXT:    bnezc $2, $BB1_2
+; CHECK-NEXT:  # %bb.1: # %if.then
+; CHECK-NEXT:    li16 $2, 0
+; CHECK-NEXT:    sh16 $2, 0($4)
+; CHECK-NEXT:  $BB1_2: # %if.end
+; CHECK-NEXT:    jrc $ra
+entry:
   %0 = load i16, ptr %p, align 2
   %a = zext i16 %0 to i32
   %and = and i32 %a, 2

diff  --git a/llvm/test/CodeGen/Mips/mips64-f128.ll b/llvm/test/CodeGen/Mips/mips64-f128.ll
index cbb708d8d5186..ac29154579c50 100644
--- a/llvm/test/CodeGen/Mips/mips64-f128.ll
+++ b/llvm/test/CodeGen/Mips/mips64-f128.ll
@@ -1,3 +1,4 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 2
 ; RUN: llc -mtriple=mips64el-unknown-unknown -mcpu=mips4 -mattr=+soft-float -O1 \
 ; RUN:     -disable-mips-delay-filler -relocation-model=pic < %s | FileCheck \
 ; RUN:     %s -check-prefixes=ALL,C_CC_FMT,PRER6,NOT-R2R6
@@ -17,10 +18,60 @@
 @gf1 = external global float
 @gd1 = external global double
 
-; ALL-LABEL: addLD:
-; ALL: ld $25, %call16(__addtf3)
-
 define fp128 @addLD() {
+; C_CC_FMT-LABEL: addLD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(addLD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(addLD)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; C_CC_FMT-NEXT:    ld $6, 0($1)
+; C_CC_FMT-NEXT:    ld $7, 8($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(__addtf3)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp0, R_MIPS_JALR, __addtf3
+; C_CC_FMT-NEXT:  .Ltmp0:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: addLD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(addLD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(addLD)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; CMP_CC_FMT-NEXT:    ld $6, 0($1)
+; CMP_CC_FMT-NEXT:    ld $7, 8($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__addtf3)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp0, R_MIPS_JALR, __addtf3
+; CMP_CC_FMT-NEXT:  .Ltmp0:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %1 = load fp128, ptr @gld1, align 16
@@ -28,10 +79,60 @@ entry:
   ret fp128 %add
 }
 
-; ALL-LABEL: subLD:
-; ALL: ld $25, %call16(__subtf3)
-
 define fp128 @subLD() {
+; C_CC_FMT-LABEL: subLD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(subLD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(subLD)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; C_CC_FMT-NEXT:    ld $6, 0($1)
+; C_CC_FMT-NEXT:    ld $7, 8($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(__subtf3)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp1, R_MIPS_JALR, __subtf3
+; C_CC_FMT-NEXT:  .Ltmp1:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: subLD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(subLD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(subLD)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; CMP_CC_FMT-NEXT:    ld $6, 0($1)
+; CMP_CC_FMT-NEXT:    ld $7, 8($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__subtf3)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp1, R_MIPS_JALR, __subtf3
+; CMP_CC_FMT-NEXT:  .Ltmp1:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %1 = load fp128, ptr @gld1, align 16
@@ -39,10 +140,60 @@ entry:
   ret fp128 %sub
 }
 
-; ALL-LABEL: mulLD:
-; ALL: ld $25, %call16(__multf3)
-
 define fp128 @mulLD() {
+; C_CC_FMT-LABEL: mulLD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(mulLD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(mulLD)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; C_CC_FMT-NEXT:    ld $6, 0($1)
+; C_CC_FMT-NEXT:    ld $7, 8($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(__multf3)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp2, R_MIPS_JALR, __multf3
+; C_CC_FMT-NEXT:  .Ltmp2:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: mulLD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(mulLD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(mulLD)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; CMP_CC_FMT-NEXT:    ld $6, 0($1)
+; CMP_CC_FMT-NEXT:    ld $7, 8($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__multf3)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp2, R_MIPS_JALR, __multf3
+; CMP_CC_FMT-NEXT:  .Ltmp2:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %1 = load fp128, ptr @gld1, align 16
@@ -50,10 +201,60 @@ entry:
   ret fp128 %mul
 }
 
-; ALL-LABEL: divLD:
-; ALL: ld $25, %call16(__divtf3)
-
 define fp128 @divLD() {
+; C_CC_FMT-LABEL: divLD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(divLD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(divLD)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; C_CC_FMT-NEXT:    ld $6, 0($1)
+; C_CC_FMT-NEXT:    ld $7, 8($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(__divtf3)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp3, R_MIPS_JALR, __divtf3
+; C_CC_FMT-NEXT:  .Ltmp3:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: divLD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(divLD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(divLD)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; CMP_CC_FMT-NEXT:    ld $6, 0($1)
+; CMP_CC_FMT-NEXT:    ld $7, 8($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__divtf3)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp3, R_MIPS_JALR, __divtf3
+; CMP_CC_FMT-NEXT:  .Ltmp3:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %1 = load fp128, ptr @gld1, align 16
@@ -61,199 +262,974 @@ entry:
   ret fp128 %div
 }
 
-; ALL-LABEL: conv_LD_char:
-; ALL: ld $25, %call16(__floatsitf)
-
 define fp128 @conv_LD_char(i8 signext %a) {
+; C_CC_FMT-LABEL: conv_LD_char:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_char)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_char)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__floatsitf)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp4, R_MIPS_JALR, __floatsitf
+; C_CC_FMT-NEXT:  .Ltmp4:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_LD_char:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_char)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_char)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__floatsitf)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp4, R_MIPS_JALR, __floatsitf
+; CMP_CC_FMT-NEXT:  .Ltmp4:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = sitofp i8 %a to fp128
   ret fp128 %conv
 }
 
-; ALL-LABEL: conv_LD_short:
-; ALL: ld $25, %call16(__floatsitf)
-
 define fp128 @conv_LD_short(i16 signext %a) {
+; C_CC_FMT-LABEL: conv_LD_short:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_short)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_short)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__floatsitf)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp5, R_MIPS_JALR, __floatsitf
+; C_CC_FMT-NEXT:  .Ltmp5:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_LD_short:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_short)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_short)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__floatsitf)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp5, R_MIPS_JALR, __floatsitf
+; CMP_CC_FMT-NEXT:  .Ltmp5:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = sitofp i16 %a to fp128
   ret fp128 %conv
 }
 
-; ALL-LABEL: conv_LD_int:
-; ALL: ld $25, %call16(__floatsitf)
-
 define fp128 @conv_LD_int(i32 %a) {
+; C_CC_FMT-LABEL: conv_LD_int:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_int)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_int)))
+; C_CC_FMT-NEXT:    sll $4, $4, 0
+; C_CC_FMT-NEXT:    ld $25, %call16(__floatsitf)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp6, R_MIPS_JALR, __floatsitf
+; C_CC_FMT-NEXT:  .Ltmp6:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_LD_int:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_int)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_int)))
+; CMP_CC_FMT-NEXT:    sll $4, $4, 0
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__floatsitf)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp6, R_MIPS_JALR, __floatsitf
+; CMP_CC_FMT-NEXT:  .Ltmp6:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = sitofp i32 %a to fp128
   ret fp128 %conv
 }
 
-; ALL-LABEL: conv_LD_LL:
-; ALL: ld $25, %call16(__floatditf)
-
 define fp128 @conv_LD_LL(i64 %a) {
+; C_CC_FMT-LABEL: conv_LD_LL:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_LL)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_LL)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__floatditf)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp7, R_MIPS_JALR, __floatditf
+; C_CC_FMT-NEXT:  .Ltmp7:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_LD_LL:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_LL)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_LL)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__floatditf)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp7, R_MIPS_JALR, __floatditf
+; CMP_CC_FMT-NEXT:  .Ltmp7:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = sitofp i64 %a to fp128
   ret fp128 %conv
 }
 
-; ALL-LABEL: conv_LD_UChar:
-; ALL: ld $25, %call16(__floatunsitf)
-
 define fp128 @conv_LD_UChar(i8 zeroext %a) {
+; C_CC_FMT-LABEL: conv_LD_UChar:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_UChar)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_UChar)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__floatunsitf)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp8, R_MIPS_JALR, __floatunsitf
+; C_CC_FMT-NEXT:  .Ltmp8:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_LD_UChar:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_UChar)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_UChar)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__floatunsitf)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp8, R_MIPS_JALR, __floatunsitf
+; CMP_CC_FMT-NEXT:  .Ltmp8:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = uitofp i8 %a to fp128
   ret fp128 %conv
 }
 
-; ALL-LABEL: conv_LD_UShort:
-; ALL: ld $25, %call16(__floatunsitf)
-
 define fp128 @conv_LD_UShort(i16 zeroext %a) {
+; C_CC_FMT-LABEL: conv_LD_UShort:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_UShort)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_UShort)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__floatunsitf)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp9, R_MIPS_JALR, __floatunsitf
+; C_CC_FMT-NEXT:  .Ltmp9:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_LD_UShort:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_UShort)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_UShort)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__floatunsitf)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp9, R_MIPS_JALR, __floatunsitf
+; CMP_CC_FMT-NEXT:  .Ltmp9:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = uitofp i16 %a to fp128
   ret fp128 %conv
 }
 
-; ALL-LABEL: conv_LD_UInt:
-; ALL: ld $25, %call16(__floatunsitf)
-
 define fp128 @conv_LD_UInt(i32 signext %a) {
+; C_CC_FMT-LABEL: conv_LD_UInt:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_UInt)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_UInt)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__floatunsitf)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp10, R_MIPS_JALR, __floatunsitf
+; C_CC_FMT-NEXT:  .Ltmp10:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_LD_UInt:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_UInt)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_UInt)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__floatunsitf)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp10, R_MIPS_JALR, __floatunsitf
+; CMP_CC_FMT-NEXT:  .Ltmp10:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = uitofp i32 %a to fp128
   ret fp128 %conv
 }
 
-; ALL-LABEL: conv_LD_ULL:
-; ALL: ld $25, %call16(__floatunditf)
-
 define fp128 @conv_LD_ULL(i64 %a) {
+; C_CC_FMT-LABEL: conv_LD_ULL:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_ULL)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_ULL)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__floatunditf)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp11, R_MIPS_JALR, __floatunditf
+; C_CC_FMT-NEXT:  .Ltmp11:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_LD_ULL:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_ULL)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_ULL)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__floatunditf)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp11, R_MIPS_JALR, __floatunditf
+; CMP_CC_FMT-NEXT:  .Ltmp11:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = uitofp i64 %a to fp128
   ret fp128 %conv
 }
 
-; ALL-LABEL: conv_char_LD:
-; ALL: ld $25, %call16(__fixtfsi)
-
 define signext i8 @conv_char_LD(fp128 %a) {
+; C_CC_FMT-LABEL: conv_char_LD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_char_LD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_char_LD)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__fixtfsi)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp12, R_MIPS_JALR, __fixtfsi
+; C_CC_FMT-NEXT:  .Ltmp12:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_char_LD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_char_LD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_char_LD)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__fixtfsi)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp12, R_MIPS_JALR, __fixtfsi
+; CMP_CC_FMT-NEXT:  .Ltmp12:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = fptosi fp128 %a to i8
   ret i8 %conv
 }
 
-; ALL-LABEL: conv_short_LD:
-; ALL: ld $25, %call16(__fixtfsi)
-
 define signext i16 @conv_short_LD(fp128 %a) {
+; C_CC_FMT-LABEL: conv_short_LD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_short_LD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_short_LD)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__fixtfsi)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp13, R_MIPS_JALR, __fixtfsi
+; C_CC_FMT-NEXT:  .Ltmp13:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_short_LD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_short_LD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_short_LD)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__fixtfsi)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp13, R_MIPS_JALR, __fixtfsi
+; CMP_CC_FMT-NEXT:  .Ltmp13:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = fptosi fp128 %a to i16
   ret i16 %conv
 }
 
-; ALL-LABEL: conv_int_LD:
-; ALL: ld $25, %call16(__fixtfsi)
-
 define i32 @conv_int_LD(fp128 %a) {
+; C_CC_FMT-LABEL: conv_int_LD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_int_LD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_int_LD)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__fixtfsi)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp14, R_MIPS_JALR, __fixtfsi
+; C_CC_FMT-NEXT:  .Ltmp14:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_int_LD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_int_LD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_int_LD)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__fixtfsi)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp14, R_MIPS_JALR, __fixtfsi
+; CMP_CC_FMT-NEXT:  .Ltmp14:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = fptosi fp128 %a to i32
   ret i32 %conv
 }
 
-; ALL-LABEL: conv_LL_LD:
-; ALL: ld $25, %call16(__fixtfdi)
-
 define i64 @conv_LL_LD(fp128 %a) {
+; C_CC_FMT-LABEL: conv_LL_LD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LL_LD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LL_LD)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__fixtfdi)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp15, R_MIPS_JALR, __fixtfdi
+; C_CC_FMT-NEXT:  .Ltmp15:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_LL_LD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LL_LD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LL_LD)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__fixtfdi)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp15, R_MIPS_JALR, __fixtfdi
+; CMP_CC_FMT-NEXT:  .Ltmp15:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = fptosi fp128 %a to i64
   ret i64 %conv
 }
 
-; ALL-LABEL: conv_UChar_LD:
-; ALL: ld $25, %call16(__fixtfsi)
-
 define zeroext i8 @conv_UChar_LD(fp128 %a) {
+; C_CC_FMT-LABEL: conv_UChar_LD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_UChar_LD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_UChar_LD)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__fixtfsi)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp16, R_MIPS_JALR, __fixtfsi
+; C_CC_FMT-NEXT:  .Ltmp16:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_UChar_LD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_UChar_LD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_UChar_LD)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__fixtfsi)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp16, R_MIPS_JALR, __fixtfsi
+; CMP_CC_FMT-NEXT:  .Ltmp16:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = fptoui fp128 %a to i8
   ret i8 %conv
 }
 
-; ALL-LABEL: conv_UShort_LD:
-; ALL: ld $25, %call16(__fixtfsi)
-
 define zeroext i16 @conv_UShort_LD(fp128 %a) {
+; C_CC_FMT-LABEL: conv_UShort_LD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_UShort_LD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_UShort_LD)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__fixtfsi)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp17, R_MIPS_JALR, __fixtfsi
+; C_CC_FMT-NEXT:  .Ltmp17:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_UShort_LD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_UShort_LD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_UShort_LD)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__fixtfsi)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp17, R_MIPS_JALR, __fixtfsi
+; CMP_CC_FMT-NEXT:  .Ltmp17:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = fptoui fp128 %a to i16
   ret i16 %conv
 }
 
-; ALL-LABEL: conv_UInt_LD:
-; ALL: ld $25, %call16(__fixunstfsi)
-
 define i32 @conv_UInt_LD(fp128 %a) {
+; C_CC_FMT-LABEL: conv_UInt_LD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_UInt_LD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_UInt_LD)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__fixunstfsi)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp18, R_MIPS_JALR, __fixunstfsi
+; C_CC_FMT-NEXT:  .Ltmp18:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_UInt_LD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_UInt_LD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_UInt_LD)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__fixunstfsi)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp18, R_MIPS_JALR, __fixunstfsi
+; CMP_CC_FMT-NEXT:  .Ltmp18:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = fptoui fp128 %a to i32
   ret i32 %conv
 }
 
-; ALL-LABEL: conv_ULL_LD:
-; ALL: ld $25, %call16(__fixunstfdi)
-
 define i64 @conv_ULL_LD(fp128 %a) {
+; C_CC_FMT-LABEL: conv_ULL_LD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_ULL_LD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_ULL_LD)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__fixunstfdi)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp19, R_MIPS_JALR, __fixunstfdi
+; C_CC_FMT-NEXT:  .Ltmp19:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_ULL_LD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_ULL_LD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_ULL_LD)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__fixunstfdi)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp19, R_MIPS_JALR, __fixunstfdi
+; CMP_CC_FMT-NEXT:  .Ltmp19:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = fptoui fp128 %a to i64
   ret i64 %conv
 }
 
-; ALL-LABEL: conv_LD_float:
-; ALL: ld $25, %call16(__extendsftf2)
-
 define fp128 @conv_LD_float(float %a) {
+; C_CC_FMT-LABEL: conv_LD_float:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_float)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_float)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__extendsftf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp20, R_MIPS_JALR, __extendsftf2
+; C_CC_FMT-NEXT:  .Ltmp20:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_LD_float:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_float)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_float)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__extendsftf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp20, R_MIPS_JALR, __extendsftf2
+; CMP_CC_FMT-NEXT:  .Ltmp20:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = fpext float %a to fp128
   ret fp128 %conv
 }
 
-; ALL-LABEL: conv_LD_double:
-; ALL: ld $25, %call16(__extenddftf2)
-
 define fp128 @conv_LD_double(double %a) {
+; C_CC_FMT-LABEL: conv_LD_double:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_double)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_double)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__extenddftf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp21, R_MIPS_JALR, __extenddftf2
+; C_CC_FMT-NEXT:  .Ltmp21:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_LD_double:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_LD_double)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_LD_double)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__extenddftf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp21, R_MIPS_JALR, __extenddftf2
+; CMP_CC_FMT-NEXT:  .Ltmp21:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = fpext double %a to fp128
   ret fp128 %conv
 }
 
-; ALL-LABEL: conv_float_LD:
-; ALL: ld $25, %call16(__trunctfsf2)
-
 define float @conv_float_LD(fp128 %a) {
+; C_CC_FMT-LABEL: conv_float_LD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_float_LD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_float_LD)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__trunctfsf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp22, R_MIPS_JALR, __trunctfsf2
+; C_CC_FMT-NEXT:  .Ltmp22:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_float_LD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_float_LD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_float_LD)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__trunctfsf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp22, R_MIPS_JALR, __trunctfsf2
+; CMP_CC_FMT-NEXT:  .Ltmp22:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = fptrunc fp128 %a to float
   ret float %conv
 }
 
-; ALL-LABEL: conv_double_LD:
-; ALL: ld $25, %call16(__trunctfdf2)
-
 define double @conv_double_LD(fp128 %a) {
+; C_CC_FMT-LABEL: conv_double_LD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_double_LD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_double_LD)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__trunctfdf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp23, R_MIPS_JALR, __trunctfdf2
+; C_CC_FMT-NEXT:  .Ltmp23:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: conv_double_LD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(conv_double_LD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(conv_double_LD)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__trunctfdf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp23, R_MIPS_JALR, __trunctfdf2
+; CMP_CC_FMT-NEXT:  .Ltmp23:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %conv = fptrunc fp128 %a to double
   ret double %conv
 }
 
-; ALL-LABEL:             libcall1_fabsl:
-; NOT-R2R6-DAG: ld      $[[R0:[0-9]+]], 8($[[R4:[0-9]+]])
-; NOT-R2R6-DAG: daddiu  $[[R1:[0-9]+]], $zero, 1
-; NOT-R2R6-DAG: dsll    $[[R2:[0-9]+]], $[[R1]], 63
-; NOT-R2R6-DAG: daddiu  $[[R3:[0-9]+]], $[[R2]], -1
-; NOT-R2R6-DAG: and     $4, $[[R0]], $[[R3]]
-; NOT-R2R6-DAG: ld      $2, 0($[[R4]])
-
-; R2R6-DAG: ld     $[[R0:[0-9]+]], 0($[[R3:[0-9]+]])
-; R2R6-DAG: ld     $[[R1:[0-9]+]], 8($[[R3]])
-; R2R6-DAG: dextm  $[[R2:[0-9]+]], $[[R1]], 0, 63
-
 define fp128 @libcall1_fabsl() {
+; NOT-R2R6-LABEL: libcall1_fabsl:
+; NOT-R2R6:       # %bb.0: # %entry
+; NOT-R2R6-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_fabsl)))
+; NOT-R2R6-NEXT:    daddu $1, $1, $25
+; NOT-R2R6-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(libcall1_fabsl)))
+; NOT-R2R6-NEXT:    ld $1, %got_disp(gld0)($1)
+; NOT-R2R6-NEXT:    ld $2, 8($1)
+; NOT-R2R6-NEXT:    daddiu $3, $zero, 1
+; NOT-R2R6-NEXT:    dsll $3, $3, 63
+; NOT-R2R6-NEXT:    daddiu $3, $3, -1
+; NOT-R2R6-NEXT:    and $4, $2, $3
+; NOT-R2R6-NEXT:    ld $2, 0($1)
+; NOT-R2R6-NEXT:    jr $ra
+; NOT-R2R6-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall1_fabsl:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_fabsl)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(libcall1_fabsl)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($1)
+; CMP_CC_FMT-NEXT:    ld $2, 0($1)
+; CMP_CC_FMT-NEXT:    ld $1, 8($1)
+; CMP_CC_FMT-NEXT:    dextm $4, $1, 0, 63
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %call = tail call fp128 @fabsl(fp128 %0) nounwind readnone
@@ -262,10 +1238,54 @@ entry:
 
 declare fp128 @fabsl(fp128) #1
 
-; ALL-LABEL: libcall1_ceill:
-; ALL: ld $25, %call16(ceill)
-
 define fp128 @libcall1_ceill() {
+; C_CC_FMT-LABEL: libcall1_ceill:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_ceill)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_ceill)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(ceill)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp24, R_MIPS_JALR, ceill
+; C_CC_FMT-NEXT:  .Ltmp24:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall1_ceill:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_ceill)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_ceill)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(ceill)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp24, R_MIPS_JALR, ceill
+; CMP_CC_FMT-NEXT:  .Ltmp24:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %call = tail call fp128 @ceill(fp128 %0) nounwind readnone
@@ -274,10 +1294,54 @@ entry:
 
 declare fp128 @ceill(fp128) #1
 
-; ALL-LABEL: libcall1_sinl:
-; ALL: ld $25, %call16(sinl)
-
 define fp128 @libcall1_sinl() {
+; C_CC_FMT-LABEL: libcall1_sinl:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_sinl)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_sinl)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(sinl)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp25, R_MIPS_JALR, sinl
+; C_CC_FMT-NEXT:  .Ltmp25:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall1_sinl:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_sinl)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_sinl)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(sinl)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp25, R_MIPS_JALR, sinl
+; CMP_CC_FMT-NEXT:  .Ltmp25:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %call = tail call fp128 @sinl(fp128 %0) nounwind
@@ -286,10 +1350,54 @@ entry:
 
 declare fp128 @sinl(fp128) #2
 
-; ALL-LABEL: libcall1_cosl:
-; ALL: ld $25, %call16(cosl)
-
 define fp128 @libcall1_cosl() {
+; C_CC_FMT-LABEL: libcall1_cosl:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_cosl)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_cosl)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(cosl)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp26, R_MIPS_JALR, cosl
+; C_CC_FMT-NEXT:  .Ltmp26:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall1_cosl:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_cosl)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_cosl)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(cosl)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp26, R_MIPS_JALR, cosl
+; CMP_CC_FMT-NEXT:  .Ltmp26:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %call = tail call fp128 @cosl(fp128 %0) nounwind
@@ -298,10 +1406,54 @@ entry:
 
 declare fp128 @cosl(fp128) #2
 
-; ALL-LABEL: libcall1_expl:
-; ALL: ld $25, %call16(expl)
-
 define fp128 @libcall1_expl() {
+; C_CC_FMT-LABEL: libcall1_expl:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_expl)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_expl)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(expl)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp27, R_MIPS_JALR, expl
+; C_CC_FMT-NEXT:  .Ltmp27:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall1_expl:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_expl)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_expl)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(expl)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp27, R_MIPS_JALR, expl
+; CMP_CC_FMT-NEXT:  .Ltmp27:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %call = tail call fp128 @expl(fp128 %0) nounwind
@@ -310,10 +1462,54 @@ entry:
 
 declare fp128 @expl(fp128) #2
 
-; ALL-LABEL: libcall1_exp2l:
-; ALL: ld $25, %call16(exp2l)
-
 define fp128 @libcall1_exp2l() {
+; C_CC_FMT-LABEL: libcall1_exp2l:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_exp2l)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_exp2l)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(exp2l)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp28, R_MIPS_JALR, exp2l
+; C_CC_FMT-NEXT:  .Ltmp28:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall1_exp2l:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_exp2l)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_exp2l)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(exp2l)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp28, R_MIPS_JALR, exp2l
+; CMP_CC_FMT-NEXT:  .Ltmp28:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %call = tail call fp128 @exp2l(fp128 %0) nounwind
@@ -322,10 +1518,54 @@ entry:
 
 declare fp128 @exp2l(fp128) #2
 
-; ALL-LABEL: libcall1_logl:
-; ALL: ld $25, %call16(logl)
-
 define fp128 @libcall1_logl() {
+; C_CC_FMT-LABEL: libcall1_logl:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_logl)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_logl)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(logl)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp29, R_MIPS_JALR, logl
+; C_CC_FMT-NEXT:  .Ltmp29:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall1_logl:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_logl)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_logl)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(logl)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp29, R_MIPS_JALR, logl
+; CMP_CC_FMT-NEXT:  .Ltmp29:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %call = tail call fp128 @logl(fp128 %0) nounwind
@@ -334,10 +1574,54 @@ entry:
 
 declare fp128 @logl(fp128) #2
 
-; ALL-LABEL: libcall1_log2l:
-; ALL: ld $25, %call16(log2l)
-
 define fp128 @libcall1_log2l() {
+; C_CC_FMT-LABEL: libcall1_log2l:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_log2l)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_log2l)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(log2l)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp30, R_MIPS_JALR, log2l
+; C_CC_FMT-NEXT:  .Ltmp30:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall1_log2l:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_log2l)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_log2l)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(log2l)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp30, R_MIPS_JALR, log2l
+; CMP_CC_FMT-NEXT:  .Ltmp30:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %call = tail call fp128 @log2l(fp128 %0) nounwind
@@ -346,10 +1630,54 @@ entry:
 
 declare fp128 @log2l(fp128) #2
 
-; ALL-LABEL: libcall1_log10l:
-; ALL: ld $25, %call16(log10l)
-
 define fp128 @libcall1_log10l() {
+; C_CC_FMT-LABEL: libcall1_log10l:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_log10l)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_log10l)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(log10l)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp31, R_MIPS_JALR, log10l
+; C_CC_FMT-NEXT:  .Ltmp31:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall1_log10l:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_log10l)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_log10l)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(log10l)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp31, R_MIPS_JALR, log10l
+; CMP_CC_FMT-NEXT:  .Ltmp31:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %call = tail call fp128 @log10l(fp128 %0) nounwind
@@ -358,10 +1686,54 @@ entry:
 
 declare fp128 @log10l(fp128) #2
 
-; ALL-LABEL: libcall1_nearbyintl:
-; ALL: ld $25, %call16(nearbyintl)
-
 define fp128 @libcall1_nearbyintl() {
+; C_CC_FMT-LABEL: libcall1_nearbyintl:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_nearbyintl)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_nearbyintl)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(nearbyintl)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp32, R_MIPS_JALR, nearbyintl
+; C_CC_FMT-NEXT:  .Ltmp32:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall1_nearbyintl:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_nearbyintl)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_nearbyintl)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(nearbyintl)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp32, R_MIPS_JALR, nearbyintl
+; CMP_CC_FMT-NEXT:  .Ltmp32:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %call = tail call fp128 @nearbyintl(fp128 %0) nounwind readnone
@@ -370,10 +1742,54 @@ entry:
 
 declare fp128 @nearbyintl(fp128) #1
 
-; ALL-LABEL: libcall1_floorl:
-; ALL: ld $25, %call16(floorl)
-
 define fp128 @libcall1_floorl() {
+; C_CC_FMT-LABEL: libcall1_floorl:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_floorl)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_floorl)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(floorl)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp33, R_MIPS_JALR, floorl
+; C_CC_FMT-NEXT:  .Ltmp33:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall1_floorl:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_floorl)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_floorl)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(floorl)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp33, R_MIPS_JALR, floorl
+; CMP_CC_FMT-NEXT:  .Ltmp33:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %call = tail call fp128 @floorl(fp128 %0) nounwind readnone
@@ -382,10 +1798,54 @@ entry:
 
 declare fp128 @floorl(fp128) #1
 
-; ALL-LABEL: libcall1_sqrtl:
-; ALL: ld $25, %call16(sqrtl)
-
 define fp128 @libcall1_sqrtl() {
+; C_CC_FMT-LABEL: libcall1_sqrtl:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_sqrtl)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_sqrtl)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(sqrtl)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp34, R_MIPS_JALR, sqrtl
+; C_CC_FMT-NEXT:  .Ltmp34:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall1_sqrtl:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_sqrtl)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_sqrtl)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(sqrtl)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp34, R_MIPS_JALR, sqrtl
+; CMP_CC_FMT-NEXT:  .Ltmp34:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %call = tail call fp128 @sqrtl(fp128 %0) nounwind
@@ -394,10 +1854,54 @@ entry:
 
 declare fp128 @sqrtl(fp128) #2
 
-; ALL-LABEL: libcall1_rintl:
-; ALL: ld $25, %call16(rintl)
-
 define fp128 @libcall1_rintl() {
+; C_CC_FMT-LABEL: libcall1_rintl:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_rintl)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_rintl)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(rintl)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp35, R_MIPS_JALR, rintl
+; C_CC_FMT-NEXT:  .Ltmp35:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall1_rintl:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall1_rintl)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall1_rintl)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(rintl)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp35, R_MIPS_JALR, rintl
+; CMP_CC_FMT-NEXT:  .Ltmp35:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %call = tail call fp128 @rintl(fp128 %0) nounwind readnone
@@ -406,10 +1910,50 @@ entry:
 
 declare fp128 @rintl(fp128) #1
 
-; ALL-LABEL: libcall_powil:
-; ALL: ld $25, %call16(__powitf2)
-
 define fp128 @libcall_powil(fp128 %a, i32 %b) {
+; C_CC_FMT-LABEL: libcall_powil:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall_powil)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall_powil)))
+; C_CC_FMT-NEXT:    sll $6, $6, 0
+; C_CC_FMT-NEXT:    ld $25, %call16(__powitf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp36, R_MIPS_JALR, __powitf2
+; C_CC_FMT-NEXT:  .Ltmp36:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall_powil:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall_powil)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall_powil)))
+; CMP_CC_FMT-NEXT:    sll $6, $6, 0
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__powitf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp36, R_MIPS_JALR, __powitf2
+; CMP_CC_FMT-NEXT:  .Ltmp36:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = tail call fp128 @llvm.powi.f128.i32(fp128 %a, i32 %b)
   ret fp128 %0
@@ -417,21 +1961,39 @@ entry:
 
 declare fp128 @llvm.powi.f128.i32(fp128, i32) #3
 
-; ALL-LABEL:     libcall2_copysignl:
-; NOT-R2R6-DAG: daddiu $[[R2:[0-9]+]], $zero, 1
-; NOT-R2R6-DAG: dsll   $[[R3:[0-9]+]], $[[R2]], 63
-; ALL-DAG:      ld     $[[R0:[0-9]+]], %got_disp(gld1)
-; ALL-DAG:      ld     $[[R1:[0-9]+]], 8($[[R0]])
-; NOT-R2R6-DAG: and    $[[R4:[0-9]+]], $[[R1]], $[[R3]]
-; ALL-DAG:      ld     $[[R5:[0-9]+]], %got_disp(gld0)
-; ALL-DAG:      ld     $[[R6:[0-9]+]], 8($[[R5]])
-; R2R6:         dinsu  $[[R0:[0-9]+]], $[[R1:[0-9]+]], 63, 1
-; NOT-R2R6-DAG: daddiu $[[R7:[0-9]+]], $[[R3]], -1
-; NOT-R2R6-DAG: and    $[[R8:[0-9]+]], $[[R6]], $[[R7]]
-; NOT-R2R6-DAG: or     $4, $[[R8]], $[[R4]]
-; ALL-DAG:      ld     $2, 0($[[R5]])
-
 define fp128 @libcall2_copysignl() {
+; NOT-R2R6-LABEL: libcall2_copysignl:
+; NOT-R2R6:       # %bb.0: # %entry
+; NOT-R2R6-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall2_copysignl)))
+; NOT-R2R6-NEXT:    daddu $1, $1, $25
+; NOT-R2R6-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(libcall2_copysignl)))
+; NOT-R2R6-NEXT:    daddiu $2, $zero, 1
+; NOT-R2R6-NEXT:    dsll $2, $2, 63
+; NOT-R2R6-NEXT:    ld $3, %got_disp(gld1)($1)
+; NOT-R2R6-NEXT:    ld $3, 8($3)
+; NOT-R2R6-NEXT:    and $3, $3, $2
+; NOT-R2R6-NEXT:    ld $1, %got_disp(gld0)($1)
+; NOT-R2R6-NEXT:    ld $4, 8($1)
+; NOT-R2R6-NEXT:    daddiu $2, $2, -1
+; NOT-R2R6-NEXT:    and $2, $4, $2
+; NOT-R2R6-NEXT:    or $4, $2, $3
+; NOT-R2R6-NEXT:    ld $2, 0($1)
+; NOT-R2R6-NEXT:    jr $ra
+; NOT-R2R6-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall2_copysignl:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall2_copysignl)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(libcall2_copysignl)))
+; CMP_CC_FMT-NEXT:    ld $2, %got_disp(gld0)($1)
+; CMP_CC_FMT-NEXT:    ld $4, 8($2)
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($1)
+; CMP_CC_FMT-NEXT:    ld $1, 8($1)
+; CMP_CC_FMT-NEXT:    dsrl $1, $1, 63
+; CMP_CC_FMT-NEXT:    dinsu $4, $1, 63, 1
+; CMP_CC_FMT-NEXT:    ld $2, 0($2)
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %1 = load fp128, ptr @gld1, align 16
@@ -441,10 +2003,60 @@ entry:
 
 declare fp128 @copysignl(fp128, fp128) #1
 
-; ALL-LABEL: libcall2_powl:
-; ALL: ld $25, %call16(powl)
-
 define fp128 @libcall2_powl() {
+; C_CC_FMT-LABEL: libcall2_powl:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall2_powl)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall2_powl)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; C_CC_FMT-NEXT:    ld $7, 8($1)
+; C_CC_FMT-NEXT:    ld $6, 0($1)
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(powl)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp37, R_MIPS_JALR, powl
+; C_CC_FMT-NEXT:  .Ltmp37:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall2_powl:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall2_powl)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall2_powl)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; CMP_CC_FMT-NEXT:    ld $7, 8($1)
+; CMP_CC_FMT-NEXT:    ld $6, 0($1)
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(powl)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp37, R_MIPS_JALR, powl
+; CMP_CC_FMT-NEXT:  .Ltmp37:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %1 = load fp128, ptr @gld1, align 16
@@ -454,10 +2066,60 @@ entry:
 
 declare fp128 @powl(fp128, fp128) #2
 
-; ALL-LABEL: libcall2_fmodl:
-; ALL: ld $25, %call16(fmodl)
-
 define fp128 @libcall2_fmodl() {
+; C_CC_FMT-LABEL: libcall2_fmodl:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall2_fmodl)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall2_fmodl)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; C_CC_FMT-NEXT:    ld $7, 8($1)
+; C_CC_FMT-NEXT:    ld $6, 0($1)
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(fmodl)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp38, R_MIPS_JALR, fmodl
+; C_CC_FMT-NEXT:  .Ltmp38:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall2_fmodl:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall2_fmodl)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall2_fmodl)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; CMP_CC_FMT-NEXT:    ld $7, 8($1)
+; CMP_CC_FMT-NEXT:    ld $6, 0($1)
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(fmodl)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp38, R_MIPS_JALR, fmodl
+; CMP_CC_FMT-NEXT:  .Ltmp38:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %1 = load fp128, ptr @gld1, align 16
@@ -467,10 +2129,66 @@ entry:
 
 declare fp128 @fmodl(fp128, fp128) #2
 
-; ALL-LABEL: libcall3_fmal:
-; ALL: ld $25, %call16(fmal)
-
 define fp128 @libcall3_fmal() {
+; C_CC_FMT-LABEL: libcall3_fmal:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall3_fmal)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall3_fmal)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; C_CC_FMT-NEXT:    ld $6, 0($1)
+; C_CC_FMT-NEXT:    ld $7, 8($1)
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld2)($gp)
+; C_CC_FMT-NEXT:    ld $8, 0($1)
+; C_CC_FMT-NEXT:    ld $9, 8($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(fmal)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp39, R_MIPS_JALR, fmal
+; C_CC_FMT-NEXT:  .Ltmp39:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: libcall3_fmal:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(libcall3_fmal)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(libcall3_fmal)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($gp)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; CMP_CC_FMT-NEXT:    ld $6, 0($1)
+; CMP_CC_FMT-NEXT:    ld $7, 8($1)
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld2)($gp)
+; CMP_CC_FMT-NEXT:    ld $8, 0($1)
+; CMP_CC_FMT-NEXT:    ld $9, 8($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(fmal)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp39, R_MIPS_JALR, fmal
+; CMP_CC_FMT-NEXT:  .Ltmp39:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld0, align 16
   %1 = load fp128, ptr @gld2, align 16
@@ -481,131 +2199,523 @@ entry:
 
 declare fp128 @llvm.fma.f128(fp128, fp128, fp128) #4
 
-; ALL-LABEL: cmp_lt:
-; ALL: ld $25, %call16(__lttf2)
-
 define i32 @cmp_lt(fp128 %a, fp128 %b) {
+; C_CC_FMT-LABEL: cmp_lt:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(cmp_lt)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(cmp_lt)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__lttf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp40, R_MIPS_JALR, __lttf2
+; C_CC_FMT-NEXT:  .Ltmp40:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    slti $2, $2, 0
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: cmp_lt:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(cmp_lt)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(cmp_lt)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__lttf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp40, R_MIPS_JALR, __lttf2
+; CMP_CC_FMT-NEXT:  .Ltmp40:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    slti $2, $2, 0
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %cmp = fcmp olt fp128 %a, %b
   %conv = zext i1 %cmp to i32
   ret i32 %conv
 }
 
-; ALL-LABEL: cmp_le:
-; ALL: ld $25, %call16(__letf2)
-
 define i32 @cmp_le(fp128 %a, fp128 %b) {
+; C_CC_FMT-LABEL: cmp_le:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(cmp_le)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(cmp_le)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__letf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp41, R_MIPS_JALR, __letf2
+; C_CC_FMT-NEXT:  .Ltmp41:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    slti $2, $2, 1
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: cmp_le:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(cmp_le)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(cmp_le)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__letf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp41, R_MIPS_JALR, __letf2
+; CMP_CC_FMT-NEXT:  .Ltmp41:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    slti $2, $2, 1
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %cmp = fcmp ole fp128 %a, %b
   %conv = zext i1 %cmp to i32
   ret i32 %conv
 }
 
-; ALL-LABEL: cmp_gt:
-; ALL: ld $25, %call16(__gttf2)
-
 define i32 @cmp_gt(fp128 %a, fp128 %b) {
+; C_CC_FMT-LABEL: cmp_gt:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(cmp_gt)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(cmp_gt)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__gttf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp42, R_MIPS_JALR, __gttf2
+; C_CC_FMT-NEXT:  .Ltmp42:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    slt $2, $zero, $2
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: cmp_gt:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(cmp_gt)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(cmp_gt)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__gttf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp42, R_MIPS_JALR, __gttf2
+; CMP_CC_FMT-NEXT:  .Ltmp42:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    slt $2, $zero, $2
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %cmp = fcmp ogt fp128 %a, %b
   %conv = zext i1 %cmp to i32
   ret i32 %conv
 }
 
-; ALL-LABEL: cmp_ge:
-; ALL: ld $25, %call16(__getf2)
-
 define i32 @cmp_ge(fp128 %a, fp128 %b) {
+; C_CC_FMT-LABEL: cmp_ge:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(cmp_ge)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(cmp_ge)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__getf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp43, R_MIPS_JALR, __getf2
+; C_CC_FMT-NEXT:  .Ltmp43:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    addiu $1, $zero, -1
+; C_CC_FMT-NEXT:    slt $2, $1, $2
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: cmp_ge:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(cmp_ge)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(cmp_ge)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__getf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp43, R_MIPS_JALR, __getf2
+; CMP_CC_FMT-NEXT:  .Ltmp43:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    addiu $1, $zero, -1
+; CMP_CC_FMT-NEXT:    slt $2, $1, $2
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %cmp = fcmp oge fp128 %a, %b
   %conv = zext i1 %cmp to i32
   ret i32 %conv
 }
 
-; ALL-LABEL: cmp_eq:
-; ALL: ld $25, %call16(__eqtf2)
-
 define i32 @cmp_eq(fp128 %a, fp128 %b) {
+; C_CC_FMT-LABEL: cmp_eq:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(cmp_eq)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(cmp_eq)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__eqtf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp44, R_MIPS_JALR, __eqtf2
+; C_CC_FMT-NEXT:  .Ltmp44:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    sltiu $2, $2, 1
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: cmp_eq:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(cmp_eq)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(cmp_eq)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__eqtf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp44, R_MIPS_JALR, __eqtf2
+; CMP_CC_FMT-NEXT:  .Ltmp44:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    sltiu $2, $2, 1
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %cmp = fcmp oeq fp128 %a, %b
   %conv = zext i1 %cmp to i32
   ret i32 %conv
 }
 
-; ALL-LABEL: cmp_ne:
-; ALL: ld $25, %call16(__netf2)
-
 define i32 @cmp_ne(fp128 %a, fp128 %b) {
+; C_CC_FMT-LABEL: cmp_ne:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(cmp_ne)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(cmp_ne)))
+; C_CC_FMT-NEXT:    ld $25, %call16(__netf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp45, R_MIPS_JALR, __netf2
+; C_CC_FMT-NEXT:  .Ltmp45:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    sltu $2, $zero, $2
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: cmp_ne:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(cmp_ne)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(cmp_ne)))
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__netf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp45, R_MIPS_JALR, __netf2
+; CMP_CC_FMT-NEXT:  .Ltmp45:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    sltu $2, $zero, $2
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %cmp = fcmp une fp128 %a, %b
   %conv = zext i1 %cmp to i32
   ret i32 %conv
 }
 
-; ALL-LABEL: load_LD_LD:
-; ALL: ld $[[R0:[0-9]+]], %got_disp(gld1)
-; ALL: ld $2, 0($[[R0]])
-; ALL: ld $4, 8($[[R0]])
-
 define fp128 @load_LD_LD() {
+; C_CC_FMT-LABEL: load_LD_LD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(load_LD_LD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(load_LD_LD)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($1)
+; C_CC_FMT-NEXT:    ld $2, 0($1)
+; C_CC_FMT-NEXT:    ld $4, 8($1)
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: load_LD_LD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(load_LD_LD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(load_LD_LD)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($1)
+; CMP_CC_FMT-NEXT:    ld $2, 0($1)
+; CMP_CC_FMT-NEXT:    ld $4, 8($1)
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld1, align 16
   ret fp128 %0
 }
 
-; ALL-LABEL: load_LD_float:
-; ALL:   ld   $[[R0:[0-9]+]], %got_disp(gf1)
-; ALL:   lw   $4, 0($[[R0]])
-; ALL:   ld   $25, %call16(__extendsftf2)
-; PRER6: jalr $25
-; R6:    jalrc $25
-
 define fp128 @load_LD_float() {
+; C_CC_FMT-LABEL: load_LD_float:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(load_LD_float)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(load_LD_float)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gf1)($gp)
+; C_CC_FMT-NEXT:    lw $4, 0($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(__extendsftf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp46, R_MIPS_JALR, __extendsftf2
+; C_CC_FMT-NEXT:  .Ltmp46:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: load_LD_float:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(load_LD_float)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(load_LD_float)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gf1)($gp)
+; CMP_CC_FMT-NEXT:    lw $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__extendsftf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp46, R_MIPS_JALR, __extendsftf2
+; CMP_CC_FMT-NEXT:  .Ltmp46:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load float, ptr @gf1, align 4
   %conv = fpext float %0 to fp128
   ret fp128 %conv
 }
 
-; ALL-LABEL: load_LD_double:
-; ALL:   ld   $[[R0:[0-9]+]], %got_disp(gd1)
-; ALL:   ld   $4, 0($[[R0]])
-; ALL:   ld   $25, %call16(__extenddftf2)
-; PRER6: jalr $25
-; R6:    jalrc $25
-
 define fp128 @load_LD_double() {
+; C_CC_FMT-LABEL: load_LD_double:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(load_LD_double)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(load_LD_double)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gd1)($gp)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(__extenddftf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp47, R_MIPS_JALR, __extenddftf2
+; C_CC_FMT-NEXT:  .Ltmp47:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: load_LD_double:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(load_LD_double)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(load_LD_double)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gd1)($gp)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__extenddftf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp47, R_MIPS_JALR, __extenddftf2
+; CMP_CC_FMT-NEXT:  .Ltmp47:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load double, ptr @gd1, align 8
   %conv = fpext double %0 to fp128
   ret fp128 %conv
 }
 
-; ALL-LABEL: store_LD_LD:
-; ALL: ld $[[R0:[0-9]+]], %got_disp(gld1)
-; ALL: ld $[[R2:[0-9]+]], 8($[[R0]])
-; ALL: ld $[[R3:[0-9]+]], %got_disp(gld0)
-; ALL: sd $[[R2]], 8($[[R3]])
-; ALL: ld $[[R1:[0-9]+]], 0($[[R0]])
-; ALL: sd $[[R1]], 0($[[R3]])
-
 define void @store_LD_LD() {
+; C_CC_FMT-LABEL: store_LD_LD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(store_LD_LD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(store_LD_LD)))
+; C_CC_FMT-NEXT:    ld $2, %got_disp(gld1)($1)
+; C_CC_FMT-NEXT:    ld $3, 8($2)
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($1)
+; C_CC_FMT-NEXT:    sd $3, 8($1)
+; C_CC_FMT-NEXT:    ld $2, 0($2)
+; C_CC_FMT-NEXT:    sd $2, 0($1)
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: store_LD_LD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(store_LD_LD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $1, $1, %lo(%neg(%gp_rel(store_LD_LD)))
+; CMP_CC_FMT-NEXT:    ld $2, %got_disp(gld1)($1)
+; CMP_CC_FMT-NEXT:    ld $3, 8($2)
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld0)($1)
+; CMP_CC_FMT-NEXT:    sd $3, 8($1)
+; CMP_CC_FMT-NEXT:    ld $2, 0($2)
+; CMP_CC_FMT-NEXT:    sd $2, 0($1)
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld1, align 16
   store fp128 %0, ptr @gld0, align 16
   ret void
 }
 
-; ALL-LABEL: store_LD_float:
-; ALL:   ld   $[[R0:[0-9]+]], %got_disp(gld1)
-; ALL:   ld   $4, 0($[[R0]])
-; ALL:   ld   $5, 8($[[R0]])
-; ALL:   ld   $25, %call16(__trunctfsf2)
-; PRER6: jalr $25
-; R6:    jalrc $25
-; ALL:   ld   $[[R1:[0-9]+]], %got_disp(gf1)
-; ALL:   sw   $2, 0($[[R1]])
-
 define void @store_LD_float() {
+; C_CC_FMT-LABEL: store_LD_float:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(store_LD_float)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(store_LD_float)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(__trunctfsf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp48, R_MIPS_JALR, __trunctfsf2
+; C_CC_FMT-NEXT:  .Ltmp48:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gf1)($gp)
+; C_CC_FMT-NEXT:    sw $2, 0($1)
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: store_LD_float:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(store_LD_float)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(store_LD_float)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__trunctfsf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp48, R_MIPS_JALR, __trunctfsf2
+; CMP_CC_FMT-NEXT:  .Ltmp48:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gf1)($gp)
+; CMP_CC_FMT-NEXT:    sw $2, 0($1)
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld1, align 16
   %conv = fptrunc fp128 %0 to float
@@ -613,17 +2723,61 @@ entry:
   ret void
 }
 
-; ALL-LABEL: store_LD_double:
-; ALL:   ld   $[[R0:[0-9]+]], %got_disp(gld1)
-; ALL:   ld   $4, 0($[[R0]])
-; ALL:   ld   $5, 8($[[R0]])
-; ALL:   ld   $25, %call16(__trunctfdf2)
-; PRER6: jalr $25
-; R6:    jalrc $25
-; ALL:   ld   $[[R1:[0-9]+]], %got_disp(gd1)
-; ALL:   sd   $2, 0($[[R1]])
-
+; FIXME: This sll works around an implementation detail in the code generator
+;        (setcc's result is i32 so bits 32-63 are undefined). It's not really
+;        needed.
 define void @store_LD_double() {
+; C_CC_FMT-LABEL: store_LD_double:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; C_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(store_LD_double)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(store_LD_double)))
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; C_CC_FMT-NEXT:    ld $4, 0($1)
+; C_CC_FMT-NEXT:    ld $5, 8($1)
+; C_CC_FMT-NEXT:    ld $25, %call16(__trunctfdf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp49, R_MIPS_JALR, __trunctfdf2
+; C_CC_FMT-NEXT:  .Ltmp49:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    ld $1, %got_disp(gd1)($gp)
+; C_CC_FMT-NEXT:    sd $2, 0($1)
+; C_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: store_LD_double:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -16
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 16
+; CMP_CC_FMT-NEXT:    sd $ra, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(store_LD_double)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(store_LD_double)))
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gld1)($gp)
+; CMP_CC_FMT-NEXT:    ld $4, 0($1)
+; CMP_CC_FMT-NEXT:    ld $5, 8($1)
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__trunctfdf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp49, R_MIPS_JALR, __trunctfdf2
+; CMP_CC_FMT-NEXT:  .Ltmp49:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    ld $1, %got_disp(gd1)($gp)
+; CMP_CC_FMT-NEXT:    sd $2, 0($1)
+; CMP_CC_FMT-NEXT:    ld $gp, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 16
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %0 = load fp128, ptr @gld1, align 16
   %conv = fptrunc fp128 %0 to double
@@ -631,56 +2785,126 @@ entry:
   ret void
 }
 
-; ALL-LABEL: select_LD:
-; C_CC_FMT:      movn $8, $6, $4
-; C_CC_FMT:      movn $9, $7, $4
-; C_CC_FMT:      move $2, $8
-; C_CC_FMT:      move $4, $9
-
-; FIXME: This sll works around an implementation detail in the code generator
-;        (setcc's result is i32 so bits 32-63 are undefined). It's not really
-;        needed.
-; CMP_CC_FMT-DAG: sll $[[CC:[0-9]+]], $4, 0
-; CMP_CC_FMT-DAG: seleqz $[[EQ1:[0-9]+]], $8, $[[CC]]
-; CMP_CC_FMT-DAG: selnez $[[NE1:[0-9]+]], $6, $[[CC]]
-; CMP_CC_FMT-DAG: or $2, $[[NE1]], $[[EQ1]]
-; CMP_CC_FMT-DAG: seleqz $[[EQ2:[0-9]+]], $9, $[[CC]]
-; CMP_CC_FMT-DAG: selnez $[[NE2:[0-9]+]], $7, $[[CC]]
-; CMP_CC_FMT-DAG: or $4, $[[NE2]], $[[EQ2]]
-
 define fp128 @select_LD(i32 signext %a, i64, fp128 %b, fp128 %c) {
+; C_CC_FMT-LABEL: select_LD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    movn $8, $6, $4
+; C_CC_FMT-NEXT:    movn $9, $7, $4
+; C_CC_FMT-NEXT:    move $2, $8
+; C_CC_FMT-NEXT:    move $4, $9
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: select_LD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    sll $1, $4, 0
+; CMP_CC_FMT-NEXT:    seleqz $2, $8, $1
+; CMP_CC_FMT-NEXT:    selnez $3, $6, $1
+; CMP_CC_FMT-NEXT:    or $2, $3, $2
+; CMP_CC_FMT-NEXT:    seleqz $3, $9, $1
+; CMP_CC_FMT-NEXT:    selnez $1, $7, $1
+; CMP_CC_FMT-NEXT:    or $4, $1, $3
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %tobool = icmp ne i32 %a, 0
   %cond = select i1 %tobool, fp128 %b, fp128 %c
   ret fp128 %cond
 }
 
-; ALL-LABEL: selectCC_LD:
-; ALL:           move $[[R0:[0-9]+]], $11
-; ALL:           move $[[R1:[0-9]+]], $10
-; ALL:           move $[[R2:[0-9]+]], $9
-; ALL:           move $[[R3:[0-9]+]], $8
-; ALL:           ld   $25, %call16(__gttf2)($gp)
-; PRER6:         jalr $25
-; R6:            jalrc $25
-
-; C_CC_FMT:      slti $[[CC:[0-9]+]], $2, 1
-; C_CC_FMT:      movz $[[R1]], $[[R3]], $[[CC]]
-; C_CC_FMT:      movz $[[R0]], $[[R2]], $[[CC]]
-; C_CC_FMT:      move $2, $[[R1]]
-; C_CC_FMT:      move $4, $[[R0]]
-
-; CMP_CC_FMT:    slt $[[CC:[0-9]+]], $zero, $2
-; CMP_CC_FMT:    seleqz $[[EQ1:[0-9]+]], $[[R1]], $[[CC]]
-; CMP_CC_FMT:    selnez $[[NE1:[0-9]+]], $[[R3]], $[[CC]]
-; CMP_CC_FMT:    or $2, $[[NE1]], $[[EQ1]]
-; CMP_CC_FMT:    seleqz $[[EQ2:[0-9]+]], $[[R0]], $[[CC]]
-; CMP_CC_FMT:    selnez $[[NE2:[0-9]+]], $[[R2]], $[[CC]]
-; CMP_CC_FMT:    or $4, $[[NE2]], $[[EQ2]]
-
 define fp128 @selectCC_LD(fp128 %a, fp128 %b, fp128 %c, fp128 %d) {
+; C_CC_FMT-LABEL: selectCC_LD:
+; C_CC_FMT:       # %bb.0: # %entry
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, -48
+; C_CC_FMT-NEXT:    .cfi_def_cfa_offset 48
+; C_CC_FMT-NEXT:    sd $ra, 40($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $gp, 32($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $19, 24($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $18, 16($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $17, 8($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    sd $16, 0($sp) # 8-byte Folded Spill
+; C_CC_FMT-NEXT:    .cfi_offset 31, -8
+; C_CC_FMT-NEXT:    .cfi_offset 28, -16
+; C_CC_FMT-NEXT:    .cfi_offset 19, -24
+; C_CC_FMT-NEXT:    .cfi_offset 18, -32
+; C_CC_FMT-NEXT:    .cfi_offset 17, -40
+; C_CC_FMT-NEXT:    .cfi_offset 16, -48
+; C_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(selectCC_LD)))
+; C_CC_FMT-NEXT:    daddu $1, $1, $25
+; C_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(selectCC_LD)))
+; C_CC_FMT-NEXT:    move $16, $11
+; C_CC_FMT-NEXT:    move $17, $10
+; C_CC_FMT-NEXT:    move $18, $9
+; C_CC_FMT-NEXT:    move $19, $8
+; C_CC_FMT-NEXT:    ld $25, %call16(__gttf2)($gp)
+; C_CC_FMT-NEXT:    .reloc .Ltmp50, R_MIPS_JALR, __gttf2
+; C_CC_FMT-NEXT:  .Ltmp50:
+; C_CC_FMT-NEXT:    jalr $25
+; C_CC_FMT-NEXT:    nop
+; C_CC_FMT-NEXT:    slti $1, $2, 1
+; C_CC_FMT-NEXT:    movz $17, $19, $1
+; C_CC_FMT-NEXT:    movz $16, $18, $1
+; C_CC_FMT-NEXT:    move $2, $17
+; C_CC_FMT-NEXT:    move $4, $16
+; C_CC_FMT-NEXT:    ld $16, 0($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $17, 8($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $18, 16($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $19, 24($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $gp, 32($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    ld $ra, 40($sp) # 8-byte Folded Reload
+; C_CC_FMT-NEXT:    daddiu $sp, $sp, 48
+; C_CC_FMT-NEXT:    jr $ra
+; C_CC_FMT-NEXT:    nop
+;
+; CMP_CC_FMT-LABEL: selectCC_LD:
+; CMP_CC_FMT:       # %bb.0: # %entry
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, -48
+; CMP_CC_FMT-NEXT:    .cfi_def_cfa_offset 48
+; CMP_CC_FMT-NEXT:    sd $ra, 40($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $gp, 32($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $19, 24($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $18, 16($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $17, 8($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    sd $16, 0($sp) # 8-byte Folded Spill
+; CMP_CC_FMT-NEXT:    .cfi_offset 31, -8
+; CMP_CC_FMT-NEXT:    .cfi_offset 28, -16
+; CMP_CC_FMT-NEXT:    .cfi_offset 19, -24
+; CMP_CC_FMT-NEXT:    .cfi_offset 18, -32
+; CMP_CC_FMT-NEXT:    .cfi_offset 17, -40
+; CMP_CC_FMT-NEXT:    .cfi_offset 16, -48
+; CMP_CC_FMT-NEXT:    lui $1, %hi(%neg(%gp_rel(selectCC_LD)))
+; CMP_CC_FMT-NEXT:    daddu $1, $1, $25
+; CMP_CC_FMT-NEXT:    daddiu $gp, $1, %lo(%neg(%gp_rel(selectCC_LD)))
+; CMP_CC_FMT-NEXT:    move $16, $11
+; CMP_CC_FMT-NEXT:    move $17, $10
+; CMP_CC_FMT-NEXT:    move $18, $9
+; CMP_CC_FMT-NEXT:    move $19, $8
+; CMP_CC_FMT-NEXT:    ld $25, %call16(__gttf2)($gp)
+; CMP_CC_FMT-NEXT:    .reloc .Ltmp50, R_MIPS_JALR, __gttf2
+; CMP_CC_FMT-NEXT:  .Ltmp50:
+; CMP_CC_FMT-NEXT:    jalrc $25
+; CMP_CC_FMT-NEXT:    slt $1, $zero, $2
+; CMP_CC_FMT-NEXT:    sll $1, $1, 0
+; CMP_CC_FMT-NEXT:    seleqz $2, $17, $1
+; CMP_CC_FMT-NEXT:    selnez $3, $19, $1
+; CMP_CC_FMT-NEXT:    or $2, $3, $2
+; CMP_CC_FMT-NEXT:    seleqz $3, $16, $1
+; CMP_CC_FMT-NEXT:    selnez $1, $18, $1
+; CMP_CC_FMT-NEXT:    or $4, $1, $3
+; CMP_CC_FMT-NEXT:    ld $16, 0($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $17, 8($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $18, 16($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $19, 24($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $gp, 32($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    ld $ra, 40($sp) # 8-byte Folded Reload
+; CMP_CC_FMT-NEXT:    daddiu $sp, $sp, 48
+; CMP_CC_FMT-NEXT:    jrc $ra
 entry:
   %cmp = fcmp ogt fp128 %a, %b
   %cond = select i1 %cmp, fp128 %c, fp128 %d
   ret fp128 %cond
 }
+;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line:
+; ALL: {{.*}}
+; PRER6: {{.*}}
+; R2R6: {{.*}}
+; R6: {{.*}}


        


More information about the llvm-commits mailing list