# RUN: llvm-mc --disassemble %s -triple=sparcv9-unknown-linux -mattr=+vis,+vis2,+vis3 | FileCheck %s ## VIS 1 instructions. # CHECK: fpadd16 %f0, %f2, %f4 0x89,0xb0,0x0a,0x02 # CHECK: fpadd16s %f1, %f3, %f5 0x8b,0xb0,0x4a,0x23 # CHECK: fpadd32 %f0, %f2, %f4 0x89,0xb0,0x0a,0x42 # CHECK: fpadd32s %f1, %f3, %f5 0x8b,0xb0,0x4a,0x63 # CHECK: fpsub16 %f0, %f2, %f4 0x89,0xb0,0x0a,0x82 # CHECK: fpsub16s %f1, %f3, %f5 0x8b,0xb0,0x4a,0xa3 # CHECK: fpsub32 %f0, %f2, %f4 0x89,0xb0,0x0a,0xc2 # CHECK: fpsub32s %f1, %f3, %f5 0x8b,0xb0,0x4a,0xe3 # CHECK: fpack16 %f0, %f2 0x85,0xb0,0x07,0x60 # CHECK: fpack32 %f0, %f2, %f4 0x89,0xb0,0x07,0x42 # CHECK: fpackfix %f0, %f3 0x87,0xb0,0x07,0xa0 # CHECK: fexpand %f1, %f2 0x85,0xb0,0x09,0xa1 # CHECK: fpmerge %f1, %f3, %f4 0x89,0xb0,0x49,0x63 # CHECK: fmul8x16 %f1, %f2, %f4 0x89,0xb0,0x46,0x22 # CHECK: fmul8x16au %f1, %f3, %f4 0x89,0xb0,0x46,0x63 # CHECK: fmul8x16al %f1, %f3, %f4 0x89,0xb0,0x46,0xa3 # CHECK: fmul8sux16 %f0, %f2, %f4 0x89,0xb0,0x06,0xc2 # CHECK: fmul8ulx16 %f0, %f2, %f4 0x89,0xb0,0x06,0xe2 # CHECK: fmuld8sux16 %f1, %f3, %f4 0x89,0xb0,0x47,0x03 # CHECK: fmuld8ulx16 %f1, %f3, %f4 0x89,0xb0,0x47,0x23 # CHECK: alignaddr %o0, %o1, %o2 0x95,0xb2,0x03,0x09 # CHECK: alignaddrl %o0, %o1, %o2 0x95,0xb2,0x03,0x49 # CHECK: faligndata %f0, %f2, %f4 0x89,0xb0,0x09,0x02 # CHECK: fzero %f0 0x81,0xb0,0x0c,0x00 # CHECK: fzeros %f1 0x83,0xb0,0x0c,0x20 # CHECK: fone %f0 0x81,0xb0,0x0f,0xc0 # CHECK: fones %f1 0x83,0xb0,0x0f,0xe0 # CHECK: fsrc1 %f0, %f2 0x85,0xb0,0x0e,0x80 # CHECK: fsrc1s %f1, %f3 0x87,0xb0,0x4e,0xa0 # CHECK: fsrc2 %f0, %f2 0x85,0xb0,0x0f,0x00 # CHECK: fsrc2s %f1, %f3 0x87,0xb0,0x0f,0x21 # CHECK: fnot1 %f0, %f2 0x85,0xb0,0x0d,0x40 # CHECK: fnot1s %f1, %f3 0x87,0xb0,0x4d,0x60 # CHECK: fnot2 %f0, %f2 0x85,0xb0,0x0c,0xc0 # CHECK: fnot2s %f1, %f3 0x87,0xb0,0x0c,0xe1 # CHECK: for %f0, %f2, %f4 0x89,0xb0,0x0f,0x82 # CHECK: fors %f1, %f3, %f5 0x8b,0xb0,0x4f,0xa3 # CHECK: fnor %f0, %f2, %f4 0x89,0xb0,0x0c,0x42 # CHECK: fnors %f1, %f3, %f5 0x8b,0xb0,0x4c,0x63 # CHECK: fand %f0, %f2, %f4 0x89,0xb0,0x0e,0x02 # CHECK: fands %f1, %f3, %f5 0x8b,0xb0,0x4e,0x23 # CHECK: fnand %f0, %f2, %f4 0x89,0xb0,0x0d,0xc2 # CHECK: fnands %f1, %f3, %f5 0x8b,0xb0,0x4d,0xe3 # CHECK: fxor %f0, %f2, %f4 0x89,0xb0,0x0d,0x82 # CHECK: fxors %f1, %f3, %f5 0x8b,0xb0,0x4d,0xa3 # CHECK: fxnor %f0, %f2, %f4 0x89,0xb0,0x0e,0x42 # CHECK: fxnors %f1, %f3, %f5 0x8b,0xb0,0x4e,0x63 # CHECK: fornot1 %f0, %f2, %f4 0x89,0xb0,0x0f,0x42 # CHECK: fornot1s %f1, %f3, %f5 0x8b,0xb0,0x4f,0x63 # CHECK: fornot2 %f0, %f2, %f4 0x89,0xb0,0x0e,0xc2 # CHECK: fornot2s %f1, %f3, %f5 0x8b,0xb0,0x4e,0xe3 # CHECK: fandnot1 %f0, %f2, %f4 0x89,0xb0,0x0d,0x02 # CHECK: fandnot1s %f1, %f3, %f5 0x8b,0xb0,0x4d,0x23 # CHECK: fandnot2 %f0, %f2, %f4 0x89,0xb0,0x0c,0x82 # CHECK: fandnot2s %f1, %f3, %f5 0x8b,0xb0,0x4c,0xa3 # CHECK: fcmpgt16 %f0, %f2, %o0 0x91,0xb0,0x05,0x02 # CHECK: fcmpgt32 %f0, %f2, %o0 0x91,0xb0,0x05,0x82 # CHECK: fcmple16 %f0, %f2, %o0 0x91,0xb0,0x04,0x02 # CHECK: fcmple32 %f0, %f2, %o0 0x91,0xb0,0x04,0x82 # CHECK: fcmpne16 %f0, %f2, %o0 0x91,0xb0,0x04,0x42 # CHECK: fcmpne32 %f0, %f2, %o0 0x91,0xb0,0x04,0xc2 # CHECK: fcmpeq16 %f0, %f2, %o0 0x91,0xb0,0x05,0x42 # CHECK: fcmpeq32 %f0, %f2, %o0 0x91,0xb0,0x05,0xc2 # CHECK: edge8 %o0, %o1, %o2 0x95,0xb2,0x00,0x09 # CHECK: edge8l %o0, %o1, %o2 0x95,0xb2,0x00,0x49 # CHECK: edge16 %o0, %o1, %o2 0x95,0xb2,0x00,0x89 # CHECK: edge16l %o0, %o1, %o2 0x95,0xb2,0x00,0xc9 # CHECK: edge32 %o0, %o1, %o2 0x95,0xb2,0x01,0x09 # CHECK: edge32l %o0, %o1, %o2 0x95,0xb2,0x01,0x49 # CHECK: pdist %f0, %f2, %f4 0x89,0xb0,0x07,0xc2 # CHECK: array8 %o0, %o1, %o2 0x95,0xb2,0x02,0x09 # CHECK: array16 %o0, %o1, %o2 0x95,0xb2,0x02,0x49 # CHECK: array32 %o0, %o1, %o2 0x95,0xb2,0x02,0x89 # CHECK: shutdown 0x81,0xb0,0x10,0x00 ## VIS 2 instructions. # CHECK: bmask %o0, %o1, %o2 0x95,0xb2,0x03,0x29 # CHECK: bshuffle %f0, %f2, %f4 0x89,0xb0,0x09,0x82 # CHECK: siam 0 0x81,0xb0,0x10,0x20 # CHECK: siam 1 0x81,0xb0,0x10,0x21 # CHECK: siam 2 0x81,0xb0,0x10,0x22 # CHECK: siam 3 0x81,0xb0,0x10,0x23 # CHECK: siam 4 0x81,0xb0,0x10,0x24 # CHECK: siam 5 0x81,0xb0,0x10,0x25 # CHECK: siam 6 0x81,0xb0,0x10,0x26 # CHECK: siam 7 0x81,0xb0,0x10,0x27 # CHECK: edge8n %o0, %o1, %o2 0x95,0xb2,0x00,0x29 # CHECK: edge8ln %o0, %o1, %o2 0x95,0xb2,0x00,0x69 # CHECK: edge16n %o0, %o1, %o2 0x95,0xb2,0x00,0xa9 # CHECK: edge16ln %o0, %o1, %o2 0x95,0xb2,0x00,0xe9 # CHECK: edge32n %o0, %o1, %o2 0x95,0xb2,0x01,0x29 # CHECK: edge32ln %o0, %o1, %o2 0x95,0xb2,0x01,0x69 ## VIS 3 instructions. # CHECK: addxc %o0, %o1, %o2 0x95,0xb2,0x02,0x29 # CHECK: addxccc %o0, %o1, %o2 0x95,0xb2,0x02,0x69 # CHECK: cmask8 %o0 0x81,0xb0,0x03,0x68 # CHECK: cmask16 %o0 0x81,0xb0,0x03,0xa8 # CHECK: cmask32 %o0 0x81,0xb0,0x03,0xe8 # CHECK: fchksm16 %f0, %f2, %f4 0x89,0xb0,0x08,0x82 # CHECK: fmean16 %f0, %f2, %f4 0x89,0xb0,0x08,0x02 # CHECK: fhadds %f1, %f3, %f5 0x8b,0xa0,0x4c,0x23 # CHECK: fhaddd %f0, %f2, %f4 0x89,0xa0,0x0c,0x42 # CHECK: fhsubs %f1, %f3, %f5 0x8b,0xa0,0x4c,0xa3 # CHECK: fhsubd %f0, %f2, %f4 0x89,0xa0,0x0c,0xc2 # CHECK: flcmps %fcc0, %f3, %f5 0x81,0xb0,0xea,0x25 # CHECK: flcmpd %fcc0, %f2, %f4 0x81,0xb0,0xaa,0x44 # CHECK: fnadds %f1, %f3, %f5 0x8b,0xa0,0x4a,0x23 # CHECK: fnaddd %f0, %f2, %f4 0x89,0xa0,0x0a,0x42 # CHECK: fnhadds %f1, %f3, %f5 0x8b,0xa0,0x4e,0x23 # CHECK: fnhaddd %f0, %f2, %f4 0x89,0xa0,0x0e,0x42 # CHECK: fnmuls %f1, %f3, %f5 0x8b,0xa0,0x4b,0x23 # CHECK: fnmuld %f0, %f2, %f4 0x89,0xa0,0x0b,0x42 # CHECK: fnsmuld %f1, %f3, %f4 0x89,0xa0,0x4f,0x23 # CHECK: fpadd64 %f0, %f2, %f4 0x89,0xb0,0x08,0x42 # CHECK: fsll16 %f0, %f2, %f4 0x89,0xb0,0x04,0x22 # CHECK: fsrl16 %f0, %f2, %f4 0x89,0xb0,0x04,0x62 # CHECK: fsll32 %f0, %f2, %f4 0x89,0xb0,0x04,0xa2 # CHECK: fsrl32 %f0, %f2, %f4 0x89,0xb0,0x04,0xe2 # CHECK: fslas16 %f0, %f2, %f4 0x89,0xb0,0x05,0x22 # CHECK: fsra16 %f0, %f2, %f4 0x89,0xb0,0x05,0x62 # CHECK: fslas32 %f0, %f2, %f4 0x89,0xb0,0x05,0xa2 # CHECK: fsra32 %f0, %f2, %f4 0x89,0xb0,0x05,0xe2 # CHECK: lzcnt %o0, %o1 0x93,0xb0,0x02,0xe8 # CHECK: movstosw %f0, %o0 0x91,0xb0,0x22,0x60 # CHECK: movstouw %f0, %o0 0x91,0xb0,0x22,0x20 # CHECK: movdtox %f0, %o0 0x91,0xb0,0x22,0x00 # CHECK: movwtos %o0, %f0 0x81,0xb0,0x23,0x28 # CHECK: movxtod %o0, %f0 0x81,0xb0,0x23,0x08 # CHECK: pdistn %f0, %f2, %o0 0x91,0xb0,0x07,0xe2 # CHECK: umulxhi %o0, %o1, %o2 0x95,0xb2,0x02,0xc9 # CHECK: xmulx %o0, %o1, %o2 0x95,0xb2,0x22,0xa9 # CHECK: xmulxhi %o0, %o1, %o2 0x95,0xb2,0x22,0xc9