1*9880d681SAndroid Build Coastguard Worker! RUN: llvm-mc %s -arch=sparc -show-encoding | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker! RUN: llvm-mc %s -arch=sparcv9 -show-encoding | FileCheck %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker ! CHECK: add %g0, %g0, %g0 ! encoding: [0x80,0x00,0x00,0x00] 5*9880d681SAndroid Build Coastguard Worker add %g0, %g0, %g0 6*9880d681SAndroid Build Coastguard Worker ! CHECK: add %g1, %g2, %g3 ! encoding: [0x86,0x00,0x40,0x02] 7*9880d681SAndroid Build Coastguard Worker add %g1, %g2, %g3 8*9880d681SAndroid Build Coastguard Worker ! CHECK: add %o0, %o1, %l0 ! encoding: [0xa0,0x02,0x00,0x09] 9*9880d681SAndroid Build Coastguard Worker add %r8, %r9, %l0 10*9880d681SAndroid Build Coastguard Worker ! CHECK: add %o0, 10, %l0 ! encoding: [0xa0,0x02,0x20,0x0a] 11*9880d681SAndroid Build Coastguard Worker add %o0, 10, %l0 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker ! CHECK: addcc %g1, %g2, %g3 ! encoding: [0x86,0x80,0x40,0x02] 14*9880d681SAndroid Build Coastguard Worker addcc %g1, %g2, %g3 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Worker ! CHECK: addxcc %g1, %g2, %g3 ! encoding: [0x86,0xc0,0x40,0x02] 17*9880d681SAndroid Build Coastguard Worker addxcc %g1, %g2, %g3 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Worker ! CHECK: udiv %g1, %g2, %g3 ! encoding: [0x86,0x70,0x40,0x02] 20*9880d681SAndroid Build Coastguard Worker udiv %g1, %g2, %g3 21*9880d681SAndroid Build Coastguard Worker 22*9880d681SAndroid Build Coastguard Worker ! CHECK: sdiv %g1, %g2, %g3 ! encoding: [0x86,0x78,0x40,0x02] 23*9880d681SAndroid Build Coastguard Worker sdiv %g1, %g2, %g3 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Worker ! CHECK: and %g1, %g2, %g3 ! encoding: [0x86,0x08,0x40,0x02] 26*9880d681SAndroid Build Coastguard Worker and %g1, %g2, %g3 27*9880d681SAndroid Build Coastguard Worker ! CHECK: andn %g1, %g2, %g3 ! encoding: [0x86,0x28,0x40,0x02] 28*9880d681SAndroid Build Coastguard Worker andn %g1, %g2, %g3 29*9880d681SAndroid Build Coastguard Worker ! CHECK: or %g1, %g2, %g3 ! encoding: [0x86,0x10,0x40,0x02] 30*9880d681SAndroid Build Coastguard Worker or %g1, %g2, %g3 31*9880d681SAndroid Build Coastguard Worker ! CHECK: orn %g1, %g2, %g3 ! encoding: [0x86,0x30,0x40,0x02] 32*9880d681SAndroid Build Coastguard Worker orn %g1, %g2, %g3 33*9880d681SAndroid Build Coastguard Worker ! CHECK: xor %g1, %g2, %g3 ! encoding: [0x86,0x18,0x40,0x02] 34*9880d681SAndroid Build Coastguard Worker xor %g1, %g2, %g3 35*9880d681SAndroid Build Coastguard Worker ! CHECK: xnor %g1, %g2, %g3 ! encoding: [0x86,0x38,0x40,0x02] 36*9880d681SAndroid Build Coastguard Worker xnor %g1, %g2, %g3 37*9880d681SAndroid Build Coastguard Worker 38*9880d681SAndroid Build Coastguard Worker ! CHECK: umul %g1, %g2, %g3 ! encoding: [0x86,0x50,0x40,0x02] 39*9880d681SAndroid Build Coastguard Worker umul %g1, %g2, %g3 40*9880d681SAndroid Build Coastguard Worker 41*9880d681SAndroid Build Coastguard Worker ! CHECK: smul %g1, %g2, %g3 ! encoding: [0x86,0x58,0x40,0x02] 42*9880d681SAndroid Build Coastguard Worker smul %g1, %g2, %g3 43*9880d681SAndroid Build Coastguard Worker 44*9880d681SAndroid Build Coastguard Worker ! CHECK: nop ! encoding: [0x01,0x00,0x00,0x00] 45*9880d681SAndroid Build Coastguard Worker nop 46*9880d681SAndroid Build Coastguard Worker 47*9880d681SAndroid Build Coastguard Worker ! CHECK: sethi 10, %l0 ! encoding: [0x21,0x00,0x00,0x0a] 48*9880d681SAndroid Build Coastguard Worker sethi 10, %l0 49*9880d681SAndroid Build Coastguard Worker 50*9880d681SAndroid Build Coastguard Worker ! CHECK: sll %g1, %g2, %g3 ! encoding: [0x87,0x28,0x40,0x02] 51*9880d681SAndroid Build Coastguard Worker sll %g1, %g2, %g3 52*9880d681SAndroid Build Coastguard Worker ! CHECK: sll %g1, 31, %g3 ! encoding: [0x87,0x28,0x60,0x1f] 53*9880d681SAndroid Build Coastguard Worker sll %g1, 31, %g3 54*9880d681SAndroid Build Coastguard Worker 55*9880d681SAndroid Build Coastguard Worker ! CHECK: srl %g1, %g2, %g3 ! encoding: [0x87,0x30,0x40,0x02] 56*9880d681SAndroid Build Coastguard Worker srl %g1, %g2, %g3 57*9880d681SAndroid Build Coastguard Worker ! CHECK: srl %g1, 31, %g3 ! encoding: [0x87,0x30,0x60,0x1f] 58*9880d681SAndroid Build Coastguard Worker srl %g1, 31, %g3 59*9880d681SAndroid Build Coastguard Worker 60*9880d681SAndroid Build Coastguard Worker ! CHECK: sra %g1, %g2, %g3 ! encoding: [0x87,0x38,0x40,0x02] 61*9880d681SAndroid Build Coastguard Worker sra %g1, %g2, %g3 62*9880d681SAndroid Build Coastguard Worker ! CHECK: sra %g1, 31, %g3 ! encoding: [0x87,0x38,0x60,0x1f] 63*9880d681SAndroid Build Coastguard Worker sra %g1, 31, %g3 64*9880d681SAndroid Build Coastguard Worker 65*9880d681SAndroid Build Coastguard Worker ! CHECK: sub %g1, %g2, %g3 ! encoding: [0x86,0x20,0x40,0x02] 66*9880d681SAndroid Build Coastguard Worker sub %g1, %g2, %g3 67*9880d681SAndroid Build Coastguard Worker ! CHECK: subcc %g1, %g2, %g3 ! encoding: [0x86,0xa0,0x40,0x02] 68*9880d681SAndroid Build Coastguard Worker subcc %g1, %g2, %g3 69*9880d681SAndroid Build Coastguard Worker 70*9880d681SAndroid Build Coastguard Worker ! CHECK: subxcc %g1, %g2, %g3 ! encoding: [0x86,0xe0,0x40,0x02] 71*9880d681SAndroid Build Coastguard Worker subxcc %g1, %g2, %g3 72*9880d681SAndroid Build Coastguard Worker 73*9880d681SAndroid Build Coastguard Worker ! CHECK: mov %g1, %g3 ! encoding: [0x86,0x10,0x00,0x01] 74*9880d681SAndroid Build Coastguard Worker mov %g1, %g3 75*9880d681SAndroid Build Coastguard Worker 76*9880d681SAndroid Build Coastguard Worker ! CHECK: mov 255, %g3 ! encoding: [0x86,0x10,0x20,0xff] 77*9880d681SAndroid Build Coastguard Worker mov 0xff, %g3 78*9880d681SAndroid Build Coastguard Worker 79*9880d681SAndroid Build Coastguard Worker ! CHECK: restore %g0, %g0, %g1 ! encoding: [0x83,0xe8,0x00,0x00] 80*9880d681SAndroid Build Coastguard Worker restore %g0, %g0, %g1 81*9880d681SAndroid Build Coastguard Worker 82*9880d681SAndroid Build Coastguard Worker ! CHECK: addx %g2, %g1, %g3 ! encoding: [0x86,0x40,0x80,0x01] 83*9880d681SAndroid Build Coastguard Worker addx %g2, %g1, %g3 84*9880d681SAndroid Build Coastguard Worker 85*9880d681SAndroid Build Coastguard Worker ! CHECK: subx %g2, %g1, %g3 ! encoding: [0x86,0x60,0x80,0x01] 86*9880d681SAndroid Build Coastguard Worker subx %g2, %g1, %g3 87*9880d681SAndroid Build Coastguard Worker 88*9880d681SAndroid Build Coastguard Worker ! CHECK: umulcc %g2, %g1, %g3 ! encoding: [0x86,0xd0,0x80,0x01] 89*9880d681SAndroid Build Coastguard Worker umulcc %g2, %g1, %g3 90*9880d681SAndroid Build Coastguard Worker 91*9880d681SAndroid Build Coastguard Worker ! CHECK: smulcc %g2, %g1, %g3 ! encoding: [0x86,0xd8,0x80,0x01] 92*9880d681SAndroid Build Coastguard Worker smulcc %g2, %g1, %g3 93*9880d681SAndroid Build Coastguard Worker 94*9880d681SAndroid Build Coastguard Worker ! CHECK: mulscc %g2, %g1, %g3 ! encoding: [0x87,0x20,0x80,0x01] 95*9880d681SAndroid Build Coastguard Worker mulscc %g2, %g1, %g3 96*9880d681SAndroid Build Coastguard Worker 97*9880d681SAndroid Build Coastguard Worker ! CHECK: mulscc %g2, 254, %g3 ! encoding: [0x87,0x20,0xa0,0xfe] 98*9880d681SAndroid Build Coastguard Worker mulscc %g2, 254, %g3 99*9880d681SAndroid Build Coastguard Worker 100*9880d681SAndroid Build Coastguard Worker ! CHECK: udivcc %g2, %g1, %g3 ! encoding: [0x86,0xf0,0x80,0x01] 101*9880d681SAndroid Build Coastguard Worker udivcc %g2, %g1, %g3 102*9880d681SAndroid Build Coastguard Worker 103*9880d681SAndroid Build Coastguard Worker ! CHECK: sdivcc %g2, %g1, %g3 ! encoding: [0x86,0xf8,0x80,0x01] 104*9880d681SAndroid Build Coastguard Worker sdivcc %g2, %g1, %g3 105*9880d681SAndroid Build Coastguard Worker 106*9880d681SAndroid Build Coastguard Worker ! CHECK: andcc %g2, %g1, %g3 ! encoding: [0x86,0x88,0x80,0x01] 107*9880d681SAndroid Build Coastguard Worker andcc %g2, %g1, %g3 108*9880d681SAndroid Build Coastguard Worker 109*9880d681SAndroid Build Coastguard Worker ! CHECK: andncc %g2, %g1, %g3 ! encoding: [0x86,0xa8,0x80,0x01] 110*9880d681SAndroid Build Coastguard Worker andncc %g2, %g1, %g3 111*9880d681SAndroid Build Coastguard Worker 112*9880d681SAndroid Build Coastguard Worker ! CHECK: orcc %g2, %g1, %g3 ! encoding: [0x86,0x90,0x80,0x01] 113*9880d681SAndroid Build Coastguard Worker orcc %g2, %g1, %g3 114*9880d681SAndroid Build Coastguard Worker 115*9880d681SAndroid Build Coastguard Worker ! CHECK: orncc %g2, %g1, %g3 ! encoding: [0x86,0xb0,0x80,0x01] 116*9880d681SAndroid Build Coastguard Worker orncc %g2, %g1, %g3 117*9880d681SAndroid Build Coastguard Worker 118*9880d681SAndroid Build Coastguard Worker ! CHECK: xorcc %g2, %g1, %g3 ! encoding: [0x86,0x98,0x80,0x01] 119*9880d681SAndroid Build Coastguard Worker xorcc %g2, %g1, %g3 120*9880d681SAndroid Build Coastguard Worker 121*9880d681SAndroid Build Coastguard Worker ! CHECK: xnorcc %g2, %g1, %g3 ! encoding: [0x86,0xb8,0x80,0x01] 122*9880d681SAndroid Build Coastguard Worker xnorcc %g2, %g1, %g3 123*9880d681SAndroid Build Coastguard Worker 124*9880d681SAndroid Build Coastguard Worker ! CHECK: taddcc %g2, %g1, %g3 ! encoding: [0x87,0x00,0x80,0x01] 125*9880d681SAndroid Build Coastguard Worker taddcc %g2, %g1, %g3 126*9880d681SAndroid Build Coastguard Worker 127*9880d681SAndroid Build Coastguard Worker ! CHECK: tsubcc %g2, %g1, %g3 ! encoding: [0x87,0x08,0x80,0x01] 128*9880d681SAndroid Build Coastguard Worker tsubcc %g2, %g1, %g3 129*9880d681SAndroid Build Coastguard Worker 130*9880d681SAndroid Build Coastguard Worker ! CHECK: taddcctv %g2, %g1, %g3 ! encoding: [0x87,0x10,0x80,0x01] 131*9880d681SAndroid Build Coastguard Worker taddcctv %g2, %g1, %g3 132*9880d681SAndroid Build Coastguard Worker 133*9880d681SAndroid Build Coastguard Worker ! CHECK: tsubcctv %g2, %g1, %g3 ! encoding: [0x87,0x18,0x80,0x01] 134*9880d681SAndroid Build Coastguard Worker tsubcctv %g2, %g1, %g3 135