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