# RUN: llvm-mc --disassemble %s -triple=sparcv9-unknown-linux -mattr=+ua2005,+ua2007,+osa2011 | FileCheck %s

## UA 2005 instructions.

# CHECK: allclean
0x85,0x88,0x00,0x00
# CHECK: invalw
0x8b,0x88,0x00,0x00
# CHECK: otherw
0x87,0x88,0x00,0x00
# CHECK: normalw
0x89,0x88,0x00,0x00

## UA 2007 instructions.

# CHECK: fmadds  %f1, %f3, %f5, %f7
0x8f,0xb8,0x4a,0x23
# CHECK: fmaddd  %f0, %f2, %f4, %f6
0x8d,0xb8,0x08,0x42
# CHECK: fmsubs  %f1, %f3, %f5, %f7
0x8f,0xb8,0x4a,0xa3
# CHECK: fmsubd  %f0, %f2, %f4, %f6
0x8d,0xb8,0x08,0xc2
# CHECK: fnmadds  %f1, %f3, %f5, %f7
0x8f,0xb8,0x4b,0xa3
# CHECK: fnmaddd  %f0, %f2, %f4, %f6
0x8d,0xb8,0x09,0xc2
# CHECK: fnmsubs  %f1, %f3, %f5, %f7
0x8f,0xb8,0x4b,0x23
# CHECK: fnmsubd  %f0, %f2, %f4, %f6
0x8d,0xb8,0x09,0x42

## OSA 2011 instructions.

# CHECK: cwbne  %o0, %o1, .+0
0x32,0xc2,0x00,0x09
# CHECK: cwbe  %o0, %o1, .+0
0x12,0xc2,0x00,0x09
# CHECK: cwbg  %o0, %o1, .+0
0x34,0xc2,0x00,0x09
# CHECK: cwble  %o0, %o1, .+0
0x14,0xc2,0x00,0x09
# CHECK: cwbge  %o0, %o1, .+0
0x36,0xc2,0x00,0x09
# CHECK: cwbl  %o0, %o1, .+0
0x16,0xc2,0x00,0x09
# CHECK: cwbgu  %o0, %o1, .+0
0x38,0xc2,0x00,0x09
# CHECK: cwbleu  %o0, %o1, .+0
0x18,0xc2,0x00,0x09
# CHECK: cwbcc  %o0, %o1, .+0
0x3a,0xc2,0x00,0x09
# CHECK: cwbcs  %o0, %o1, .+0
0x1a,0xc2,0x00,0x09
# CHECK: cwbpos  %o0, %o1, .+0
0x3c,0xc2,0x00,0x09
# CHECK: cwbneg  %o0, %o1, .+0
0x1c,0xc2,0x00,0x09
# CHECK: cwbvc  %o0, %o1, .+0
0x3e,0xc2,0x00,0x09
# CHECK: cwbvs  %o0, %o1, .+0
0x1e,0xc2,0x00,0x09
# CHECK: cxbne  %o0, %o1, .+0
0x32,0xe2,0x00,0x09
# CHECK: cxbe  %o0, %o1, .+0
0x12,0xe2,0x00,0x09
# CHECK: cxbg  %o0, %o1, .+0
0x34,0xe2,0x00,0x09
# CHECK: cxble  %o0, %o1, .+0
0x14,0xe2,0x00,0x09
# CHECK: cxbge  %o0, %o1, .+0
0x36,0xe2,0x00,0x09
# CHECK: cxbl  %o0, %o1, .+0
0x16,0xe2,0x00,0x09
# CHECK: cxbgu  %o0, %o1, .+0
0x38,0xe2,0x00,0x09
# CHECK: cxbleu  %o0, %o1, .+0
0x18,0xe2,0x00,0x09
# CHECK: cxbcc  %o0, %o1, .+0
0x3a,0xe2,0x00,0x09
# CHECK: cxbcs  %o0, %o1, .+0
0x1a,0xe2,0x00,0x09
# CHECK: cxbpos  %o0, %o1, .+0
0x3c,0xe2,0x00,0x09
# CHECK: cxbneg  %o0, %o1, .+0
0x1c,0xe2,0x00,0x09
# CHECK: cxbvc  %o0, %o1, .+0
0x3e,0xe2,0x00,0x09
# CHECK: cxbvs  %o0, %o1, .+0
0x1e,0xe2,0x00,0x09
# CHECK: cwbne  %o0, 1, .+0
0x32,0xc2,0x20,0x01
# CHECK: cwbe  %o0, 1, .+0
0x12,0xc2,0x20,0x01
# CHECK: cwbg  %o0, 1, .+0
0x34,0xc2,0x20,0x01
# CHECK: cwble  %o0, 1, .+0
0x14,0xc2,0x20,0x01
# CHECK: cwbge  %o0, 1, .+0
0x36,0xc2,0x20,0x01
# CHECK: cwbl  %o0, 1, .+0
0x16,0xc2,0x20,0x01
# CHECK: cwbgu  %o0, 1, .+0
0x38,0xc2,0x20,0x01
# CHECK: cwbleu  %o0, 1, .+0
0x18,0xc2,0x20,0x01
# CHECK: cwbcc  %o0, 1, .+0
0x3a,0xc2,0x20,0x01
# CHECK: cwbcs  %o0, 1, .+0
0x1a,0xc2,0x20,0x01
# CHECK: cwbpos  %o0, 1, .+0
0x3c,0xc2,0x20,0x01
# CHECK: cwbneg  %o0, 1, .+0
0x1c,0xc2,0x20,0x01
# CHECK: cwbvc  %o0, 1, .+0
0x3e,0xc2,0x20,0x01
# CHECK: cwbvs  %o0, 1, .+0
0x1e,0xc2,0x20,0x01
# CHECK: cxbne  %o0, 1, .+0
0x32,0xe2,0x20,0x01
# CHECK: cxbe  %o0, 1, .+0
0x12,0xe2,0x20,0x01
# CHECK: cxbg  %o0, 1, .+0
0x34,0xe2,0x20,0x01
# CHECK: cxble  %o0, 1, .+0
0x14,0xe2,0x20,0x01
# CHECK: cxbge  %o0, 1, .+0
0x36,0xe2,0x20,0x01
# CHECK: cxbl  %o0, 1, .+0
0x16,0xe2,0x20,0x01
# CHECK: cxbgu  %o0, 1, .+0
0x38,0xe2,0x20,0x01
# CHECK: cxbleu  %o0, 1, .+0
0x18,0xe2,0x20,0x01
# CHECK: cxbcc  %o0, 1, .+0
0x3a,0xe2,0x20,0x01
# CHECK: cxbcs  %o0, 1, .+0
0x1a,0xe2,0x20,0x01
# CHECK: cxbpos  %o0, 1, .+0
0x3c,0xe2,0x20,0x01
# CHECK: cxbneg  %o0, 1, .+0
0x1c,0xe2,0x20,0x01
# CHECK: cxbvc  %o0, 1, .+0
0x3e,0xe2,0x20,0x01
# CHECK: cxbvs  %o0, 1, .+0
0x1e,0xe2,0x20,0x01
# CHECK: fpmaddx  %f0, %f2, %f4, %f6
0x8d,0xb8,0x08,0x02
# CHECK: fpmaddxhi  %f0, %f2, %f4, %f6
0x8d,0xb8,0x08,0x82
# CHECK: pause  %o5
0xb7,0x80,0x00,0x0d
# CHECK: pause  5
0xb7,0x80,0x20,0x05
