Fix a bug that caused SimplifyCFG to drop DebugLocs.
[oota-llvm.git] / test / MC / Mips / mips_directives.s
1 # RUN: llvm-mc -show-encoding -mcpu=mips32 -triple mips-unknown-unknown %s | FileCheck %s
2 #
3 # CHECK:  .text
4 # CHECK:  $BB0_2:
5 # CHECK:  .abicalls
6 $BB0_2:
7   .ent directives_test
8      .abicalls
9     .frame    $sp,0,$ra
10     .mask     0x00000000,0
11     .fmask    0x00000000,0
12
13 # CHECK: .set noreorder
14 # CHECK:   b 1332               # encoding: [0x10,0x00,0x01,0x4d]
15 # CHECK-NOT: nop
16 # CHECK:   j 1328               # encoding: [0x08,0x00,0x01,0x4c]
17 # CHECK-NOT: nop
18 # CHECK:   jal 1328             # encoding: [0x0c,0x00,0x01,0x4c]
19 # CHECK-NOT: nop
20 # CHECK: .set nomacro
21
22     .set    noreorder
23      b 1332
24      j 1328
25      jal 1328
26     .set    nomacro
27     .set    noat
28 $JTI0_0:
29     .gpword    ($BB0_2)
30
31     .word 0x77fffffc
32 # CHECK: $JTI0_0:
33 # CHECK: .gpword ($BB0_2)
34 # CHECK:     .4byte    2013265916
35     .set  at=$12
36     .set macro
37 # CHECK:   .set macro
38 # CHECK:   .set reorder
39 # CHECK:   b 1332               # encoding: [0x10,0x00,0x01,0x4d]
40 # CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
41 # CHECK:   j 1328               # encoding: [0x08,0x00,0x01,0x4c]
42 # CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
43 # CHECK:   jal 1328             # encoding: [0x0c,0x00,0x01,0x4c]
44 # CHECK:   nop                  # encoding: [0x00,0x00,0x00,0x00]
45     .set reorder
46 $BB0_4:
47     b 1332
48     j 1328
49     jal 1328
50     .set  at=$a0
51     .set STORE_MASK,$t7
52     .set FPU_MASK,$f7
53     .set  $tmp7, $BB0_4-$BB0_2
54     .set f6,$f6
55 # CHECK:    abs.s   $f6, $f7           # encoding: [0x46,0x00,0x39,0x85]
56 # CHECK:    lui     $1, %hi($tmp7)     # encoding: [0x3c,0x01,A,A]
57 # CHECK:                               #   fixup A - offset: 0, value: ($tmp7)@ABS_HI, kind: fixup_Mips_HI16
58     abs.s  f6,FPU_MASK
59     lui $1, %hi($tmp7)
60
61 # CHECK:    .set mips32r2
62 # CHECK:    ldxc1   $f0, $zero($5)     # encoding: [0x4c,0xa0,0x00,0x01]
63 # CHECK:    luxc1   $f0, $6($5)        # encoding: [0x4c,0xa6,0x00,0x05]
64 # CHECK:    lwxc1   $f6, $2($5)        # encoding: [0x4c,0xa2,0x01,0x80]
65      .set mips32r2
66     ldxc1   $f0, $zero($5)
67     luxc1   $f0, $6($5)
68     lwxc1   $f6, $2($5)
69
70 # CHECK: .set mips64
71 # CHECK: dadd $3, $3, $3
72     .set mips64
73     dadd   $3, $3, $3                  # encoding: [0x00,0x62,0x18,0x2c]
74
75 # CHECK: .set mips64r2
76 # CHECK: drotr $9, $6, 30              # encoding: [0x00,0x26,0x4f,0xba]
77     .set mips64r2
78     drotr   $9, $6, 30
79
80 # CHECK:   .set dsp
81 # CHECK:   lbux    $7, $10($11)         # encoding: [0x7d,0x6a,0x39,0x8a]
82 # CHECK:   lhx     $5, $6($7)           # encoding: [0x7c,0xe6,0x29,0x0a]
83    .set dsp
84    lbux    $7, $10($11)
85    lhx     $5, $6($7)