Home | History | Annotate | Download | only in Mips
      1 ; RUN: llc -march=mips < %s -debug 2>&1 | FileCheck %s --check-prefix=MIPS
      2 ; RUN: llc -march=mips -relocation-model=pic -mxgot < %s -debug 2>&1 | FileCheck %s --check-prefix=MIPS-XGOT
      3 
      4 ; RUN: llc -march=mips -mattr=+micromips < %s -debug 2>&1 | FileCheck %s --check-prefix=MM
      5 ; RUN: llc -march=mips -relocation-model=pic -mxgot -mattr=+micromips < %s -debug 2>&1 | FileCheck %s --check-prefix=MM-XGOT
      6 
      7 ; REQUIRES: asserts
      8 
      9 ; Tests that the correct ISA is selected for computing a global address.
     10 
     11 @x = global i32 0
     12 @a = global i32 1
     13 declare i32 @y(i32*, i32)
     14 
     15 define i32 @z() {
     16 entry:
     17   %0 = load i32, i32* @a, align 4
     18   %1 = call i32 @y(i32 * @x, i32 %0)
     19   ret i32 %1
     20 }
     21 
     22 ; MIPS-LABEL: ===== Instruction selection ends:
     23 ; MIPS: t[[A:[0-9]+]]: i32 = LUi TargetGlobalAddress:i32<i32* @x> 0 [TF=4]
     24 ; MIPS: t{{.*}}: i32 = ADDiu t[[A]], TargetGlobalAddress:i32<i32* @x> 0 [TF=5]
     25 
     26 ; MIPS-XGOT-LABEL: ===== Instruction selection ends:
     27 ; MIPS-XGOT: t[[B:[0-9]+]]: i32 = LUi TargetGlobalAddress:i32<i32* @x> 0 [TF=20]
     28 ; MIPS-XGOT: t[[C:[0-9]+]]: i32 = ADDu t[[B]], Register:i32 %0
     29 ; MIPS-XGOT: t{{.*}}: i32,ch = LW<Mem:(load 4 from got)> t[[C]], TargetGlobalAddress:i32<i32* @x> 0 [TF=21], t{{.*}}
     30 
     31 ; MM-LABEL: ===== Instruction selection ends:
     32 ; MM: t[[A:[0-9]+]]: i32 = LUi_MM TargetGlobalAddress:i32<i32* @x> 0 [TF=4]
     33 ; MM: t{{.*}}: i32 = ADDiu_MM t[[A]], TargetGlobalAddress:i32<i32* @x> 0 [TF=5]
     34 
     35 ; MM-XGOT-LABEL: ===== Instruction selection ends:
     36 ; MM-XGOT: t[[B:[0-9]+]]: i32 = LUi_MM TargetGlobalAddress:i32<i32* @x> 0 [TF=20]
     37 ; MM-XGOT: t[[C:[0-9]+]]: i32 = ADDU16_MM t[[B]], Register:i32 %0
     38 ; MM-XGOT: t{{.*}}: i32,ch = LW_MM<Mem:(load 4 from got)> t[[C]], TargetGlobalAddress:i32<i32* @x> 0 [TF=21], t0
     39