1*9880d681SAndroid Build Coastguard Worker! RUN: llvm-mc -arch=lanai -show-encoding -show-inst < %s | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker.text 4*9880d681SAndroid Build Coastguard Worker .align 4 5*9880d681SAndroid Build Coastguard Worker .global jump1 6*9880d681SAndroid Build Coastguard Worker 7*9880d681SAndroid Build Coastguard Worker bt %r5 8*9880d681SAndroid Build Coastguard Worker! CHECK: encoding: [0xc1,0x00,0x2d,0x00] 9*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCInst #{{[0-9]+}} JR{{$}} 10*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Reg:12>> 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Worker! BR classes 13*9880d681SAndroid Build Coastguard Worker bt 0x1234 14*9880d681SAndroid Build Coastguard Worker! CHECK: encoding: [0xe0,0x00,0x12,0x34] 15*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCInst #{{[0-9]+}} BT{{$}} 16*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Imm:4660> 17*9880d681SAndroid Build Coastguard Worker 18*9880d681SAndroid Build Coastguard Workerjump1: 19*9880d681SAndroid Build Coastguard Worker blt 2000 20*9880d681SAndroid Build Coastguard Worker! CHECK: encoding: [0xec,0x00,0x07,0xd1] 21*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCInst #{{[0-9]+}} BRCC{{$}} 22*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Imm:2000> 23*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Imm:13> 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Workerjump2: 26*9880d681SAndroid Build Coastguard Worker blt jump1 27*9880d681SAndroid Build Coastguard Worker! CHECK: encoding: [0b1110110A,A,A,0x01'A'] 28*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: fixup A - offset: 0, value: jump1, kind: FIXUP_LANAI_25 29*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCInst #{{[0-9]+}} BRCC{{$}} 30*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Expr:(jump1)> 31*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Imm:13> 32*9880d681SAndroid Build Coastguard Worker 33*9880d681SAndroid Build Coastguard Worker bpl jump2 34*9880d681SAndroid Build Coastguard Worker! CHECK: encoding: [0b1110101A,A,A,A] 35*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: fixup A - offset: 0, value: jump2, kind: FIXUP_LANAI_25 36*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCInst #{{[0-9]+}} BRCC{{$}} 37*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Expr:(jump2)> 38*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Imm:10> 39*9880d681SAndroid Build Coastguard Worker 40*9880d681SAndroid Build Coastguard Worker bt . 41*9880d681SAndroid Build Coastguard Worker! CHECK: .Ltmp{{[0-9]+}} 42*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: bt .Ltmp{{[0-9]+}} 43*9880d681SAndroid Build Coastguard Worker! CHECK: encoding: [0b1110000A,A,A,A] 44*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: fixup A - offset: 0, value: .Ltmp0, kind: FIXUP_LANAI_25 45*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCInst #{{[0-9]+}} BT{{$}} 46*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Expr:(.Ltmp0)> 47*9880d681SAndroid Build Coastguard Worker 48*9880d681SAndroid Build Coastguard Worker! SCC 49*9880d681SAndroid Build Coastguard Worker spl %r19 50*9880d681SAndroid Build Coastguard Worker! CHECK: encoding: [0xea,0x4c,0x00,0x02] 51*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCInst #{{[0-9]+}} SCC{{$}} 52*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Reg:26> 53*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Imm:10> 54*9880d681SAndroid Build Coastguard Worker 55*9880d681SAndroid Build Coastguard Worker! BRR 56*9880d681SAndroid Build Coastguard Worker bf.r 0x456 57*9880d681SAndroid Build Coastguard Worker! CHECK: encoding: [0xe1,0x00,0x04,0x57] 58*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCInst #{{[0-9]+}} BRR{{$}} 59*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Imm:1110> 60*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Imm:1> 61*9880d681SAndroid Build Coastguard Worker 62*9880d681SAndroid Build Coastguard Worker! Conditional ALU 63*9880d681SAndroid Build Coastguard Worker add.ge %r13, %r14, %r18 64*9880d681SAndroid Build Coastguard Worker! CHECK: encoding: [0xc9,0x34,0x70,0x06] 65*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCInst #{{[0-9]+}} ADD_R 66*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Reg:25> 67*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Reg:20> 68*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Reg:21> 69*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Imm:12>> 70*9880d681SAndroid Build Coastguard Worker 71*9880d681SAndroid Build Coastguard Worker add.f %r13, %r14, %r18 72*9880d681SAndroid Build Coastguard Worker! CHECK: encoding: [0xc9,0x36,0x70,0x00] 73*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCInst #{{[0-9]+}} ADD_F_R 74*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Reg:25> 75*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Reg:20> 76*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Reg:21> 77*9880d681SAndroid Build Coastguard Worker! CHECK-NEXT: <MCOperand Imm:0>> 78