[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / MC / Mips / elf-gprel-32-64.s
blobb16f587ccced8a8eddc7e895da646b5674669a5a
1 // RUN: llvm-mc -filetype=obj -triple=mips64el-pc-linux -mcpu=mips64 %s -o - \
2 // RUN: | llvm-readobj -r - \
3 // RUN: | FileCheck %s
4 // RUN: llvm-mc -filetype=obj -triple=mips64-pc-linux -mcpu=mips64 %s -o - \
5 // RUN: | llvm-readobj -r - \
6 // RUN: | FileCheck %s
8 // Check that the appropriate relocations were created.
10 // R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE
11 // CHECK: Relocations [
12 // CHECK: Section ({{[a-z0-9]+}}) .rela.rodata {
13 // CHECK-NEXT: 0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE
14 // CHECK-NEXT: 0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE
15 // CHECK-NEXT: 0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE
16 // CHECK-NEXT: 0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE
17 // CHECK-NEXT: }
18 // CHECK-NEXT: ]
20 .text
21 .abicalls
22 .section .mdebug.abi64,"",@progbits
23 .file "/home/espindola/llvm/llvm/test/MC/Mips/elf-gprel-32-64.ll"
24 .text
25 .globl test
26 .align 3
27 .type test,@function
28 .set nomips16
29 .ent test
30 test: # @test
31 .frame $sp,0,$ra
32 .mask 0x00000000,0
33 .fmask 0x00000000,0
34 .set noreorder
35 .set nomacro
36 .set noat
37 # %bb.0: # %entry
38 lui $1, %hi(%neg(%gp_rel(test)))
39 daddu $2, $1, $25
40 sltiu $1, $4, 4
41 dsll $3, $4, 32
42 bnez $1, $BB0_2
43 nop
44 $BB0_1: # %sw.default
45 b $BB0_3
46 addiu $2, $zero, -1
47 $BB0_2: # %entry
48 daddiu $1, $2, %lo(%neg(%gp_rel(test)))
49 dsrl $3, $3, 32
50 daddiu $4, $zero, 8
51 dmult $3, $4
52 mflo $3
53 ld $4, %got_page($JTI0_0)($1)
54 daddu $3, $3, $4
55 ld $3, %got_ofst($JTI0_0)($3)
56 daddu $1, $3, $1
57 jr $1
58 addiu $2, $zero, 1
59 $BB0_3: # %return
60 jr $ra
61 nop
62 $BB0_4: # %sw.bb2
63 jr $ra
64 addiu $2, $zero, 3
65 $BB0_5: # %sw.bb5
66 jr $ra
67 addiu $2, $zero, 2
68 $BB0_6: # %sw.bb8
69 jr $ra
70 addiu $2, $zero, 7
71 .set at
72 .set macro
73 .set reorder
74 .end test
75 $tmp0:
76 .size test, ($tmp0)-test
77 .section .rodata,"a",@progbits
78 .align 3
79 $JTI0_0:
80 .gpdword ($BB0_3)
81 .gpdword ($BB0_4)
82 .gpdword ($BB0_5)
83 .gpdword ($BB0_6)
86 .text