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