292 lines · plain
1# RUN: llvm-mc --disassemble %s -triple=sparcv9-unknown-linux -mattr=+vis,+vis2,+vis3 | FileCheck %s2 3## VIS 1 instructions.4 5# CHECK: fpadd16 %f0, %f2, %f460x89,0xb0,0x0a,0x027# CHECK: fpadd16s %f1, %f3, %f580x8b,0xb0,0x4a,0x239# CHECK: fpadd32 %f0, %f2, %f4100x89,0xb0,0x0a,0x4211# CHECK: fpadd32s %f1, %f3, %f5120x8b,0xb0,0x4a,0x6313# CHECK: fpsub16 %f0, %f2, %f4140x89,0xb0,0x0a,0x8215# CHECK: fpsub16s %f1, %f3, %f5160x8b,0xb0,0x4a,0xa317# CHECK: fpsub32 %f0, %f2, %f4180x89,0xb0,0x0a,0xc219# CHECK: fpsub32s %f1, %f3, %f5200x8b,0xb0,0x4a,0xe321 22# CHECK: fpack16 %f0, %f2230x85,0xb0,0x07,0x6024# CHECK: fpack32 %f0, %f2, %f4250x89,0xb0,0x07,0x4226# CHECK: fpackfix %f0, %f3270x87,0xb0,0x07,0xa028# CHECK: fexpand %f1, %f2290x85,0xb0,0x09,0xa130# CHECK: fpmerge %f1, %f3, %f4310x89,0xb0,0x49,0x6332 33# CHECK: fmul8x16 %f1, %f2, %f4340x89,0xb0,0x46,0x2235# CHECK: fmul8x16au %f1, %f3, %f4360x89,0xb0,0x46,0x6337# CHECK: fmul8x16al %f1, %f3, %f4380x89,0xb0,0x46,0xa339# CHECK: fmul8sux16 %f0, %f2, %f4400x89,0xb0,0x06,0xc241# CHECK: fmul8ulx16 %f0, %f2, %f4420x89,0xb0,0x06,0xe243# CHECK: fmuld8sux16 %f1, %f3, %f4440x89,0xb0,0x47,0x0345# CHECK: fmuld8ulx16 %f1, %f3, %f4460x89,0xb0,0x47,0x2347 48# CHECK: alignaddr %o0, %o1, %o2490x95,0xb2,0x03,0x0950# CHECK: alignaddrl %o0, %o1, %o2510x95,0xb2,0x03,0x4952# CHECK: faligndata %f0, %f2, %f4530x89,0xb0,0x09,0x0254 55# CHECK: fzero %f0560x81,0xb0,0x0c,0x0057# CHECK: fzeros %f1580x83,0xb0,0x0c,0x2059# CHECK: fone %f0600x81,0xb0,0x0f,0xc061# CHECK: fones %f1620x83,0xb0,0x0f,0xe063# CHECK: fsrc1 %f0, %f2640x85,0xb0,0x0e,0x8065# CHECK: fsrc1s %f1, %f3660x87,0xb0,0x4e,0xa067# CHECK: fsrc2 %f0, %f2680x85,0xb0,0x0f,0x0069# CHECK: fsrc2s %f1, %f3700x87,0xb0,0x0f,0x2171# CHECK: fnot1 %f0, %f2720x85,0xb0,0x0d,0x4073# CHECK: fnot1s %f1, %f3740x87,0xb0,0x4d,0x6075# CHECK: fnot2 %f0, %f2760x85,0xb0,0x0c,0xc077# CHECK: fnot2s %f1, %f3780x87,0xb0,0x0c,0xe179# CHECK: for %f0, %f2, %f4800x89,0xb0,0x0f,0x8281# CHECK: fors %f1, %f3, %f5820x8b,0xb0,0x4f,0xa383# CHECK: fnor %f0, %f2, %f4840x89,0xb0,0x0c,0x4285# CHECK: fnors %f1, %f3, %f5860x8b,0xb0,0x4c,0x6387# CHECK: fand %f0, %f2, %f4880x89,0xb0,0x0e,0x0289# CHECK: fands %f1, %f3, %f5900x8b,0xb0,0x4e,0x2391# CHECK: fnand %f0, %f2, %f4920x89,0xb0,0x0d,0xc293# CHECK: fnands %f1, %f3, %f5940x8b,0xb0,0x4d,0xe395# CHECK: fxor %f0, %f2, %f4960x89,0xb0,0x0d,0x8297# CHECK: fxors %f1, %f3, %f5980x8b,0xb0,0x4d,0xa399# CHECK: fxnor %f0, %f2, %f41000x89,0xb0,0x0e,0x42101# CHECK: fxnors %f1, %f3, %f51020x8b,0xb0,0x4e,0x63103 104# CHECK: fornot1 %f0, %f2, %f41050x89,0xb0,0x0f,0x42106# CHECK: fornot1s %f1, %f3, %f51070x8b,0xb0,0x4f,0x63108# CHECK: fornot2 %f0, %f2, %f41090x89,0xb0,0x0e,0xc2110# CHECK: fornot2s %f1, %f3, %f51110x8b,0xb0,0x4e,0xe3112# CHECK: fandnot1 %f0, %f2, %f41130x89,0xb0,0x0d,0x02114# CHECK: fandnot1s %f1, %f3, %f51150x8b,0xb0,0x4d,0x23116# CHECK: fandnot2 %f0, %f2, %f41170x89,0xb0,0x0c,0x82118# CHECK: fandnot2s %f1, %f3, %f51190x8b,0xb0,0x4c,0xa3120 121# CHECK: fcmpgt16 %f0, %f2, %o01220x91,0xb0,0x05,0x02123# CHECK: fcmpgt32 %f0, %f2, %o01240x91,0xb0,0x05,0x82125# CHECK: fcmple16 %f0, %f2, %o01260x91,0xb0,0x04,0x02127# CHECK: fcmple32 %f0, %f2, %o01280x91,0xb0,0x04,0x82129# CHECK: fcmpne16 %f0, %f2, %o01300x91,0xb0,0x04,0x42131# CHECK: fcmpne32 %f0, %f2, %o01320x91,0xb0,0x04,0xc2133# CHECK: fcmpeq16 %f0, %f2, %o01340x91,0xb0,0x05,0x42135# CHECK: fcmpeq32 %f0, %f2, %o01360x91,0xb0,0x05,0xc2137 138# CHECK: edge8 %o0, %o1, %o21390x95,0xb2,0x00,0x09140# CHECK: edge8l %o0, %o1, %o21410x95,0xb2,0x00,0x49142# CHECK: edge16 %o0, %o1, %o21430x95,0xb2,0x00,0x89144# CHECK: edge16l %o0, %o1, %o21450x95,0xb2,0x00,0xc9146# CHECK: edge32 %o0, %o1, %o21470x95,0xb2,0x01,0x09148# CHECK: edge32l %o0, %o1, %o21490x95,0xb2,0x01,0x49150 151# CHECK: pdist %f0, %f2, %f41520x89,0xb0,0x07,0xc2153 154# CHECK: array8 %o0, %o1, %o21550x95,0xb2,0x02,0x09156# CHECK: array16 %o0, %o1, %o21570x95,0xb2,0x02,0x49158# CHECK: array32 %o0, %o1, %o21590x95,0xb2,0x02,0x89160 161# CHECK: shutdown1620x81,0xb0,0x10,0x00163 164## VIS 2 instructions.165 166# CHECK: bmask %o0, %o1, %o21670x95,0xb2,0x03,0x29168# CHECK: bshuffle %f0, %f2, %f41690x89,0xb0,0x09,0x82170 171# CHECK: siam 01720x81,0xb0,0x10,0x20173# CHECK: siam 11740x81,0xb0,0x10,0x21175# CHECK: siam 21760x81,0xb0,0x10,0x22177# CHECK: siam 31780x81,0xb0,0x10,0x23179# CHECK: siam 41800x81,0xb0,0x10,0x24181# CHECK: siam 51820x81,0xb0,0x10,0x25183# CHECK: siam 61840x81,0xb0,0x10,0x26185# CHECK: siam 71860x81,0xb0,0x10,0x27187 188# CHECK: edge8n %o0, %o1, %o21890x95,0xb2,0x00,0x29190# CHECK: edge8ln %o0, %o1, %o21910x95,0xb2,0x00,0x69192# CHECK: edge16n %o0, %o1, %o21930x95,0xb2,0x00,0xa9194# CHECK: edge16ln %o0, %o1, %o21950x95,0xb2,0x00,0xe9196# CHECK: edge32n %o0, %o1, %o21970x95,0xb2,0x01,0x29198# CHECK: edge32ln %o0, %o1, %o21990x95,0xb2,0x01,0x69200 201## VIS 3 instructions.202 203# CHECK: addxc %o0, %o1, %o22040x95,0xb2,0x02,0x29205# CHECK: addxccc %o0, %o1, %o22060x95,0xb2,0x02,0x69207 208# CHECK: cmask8 %o02090x81,0xb0,0x03,0x68210# CHECK: cmask16 %o02110x81,0xb0,0x03,0xa8212# CHECK: cmask32 %o02130x81,0xb0,0x03,0xe8214 215# CHECK: fchksm16 %f0, %f2, %f42160x89,0xb0,0x08,0x82217# CHECK: fmean16 %f0, %f2, %f42180x89,0xb0,0x08,0x02219 220# CHECK: fhadds %f1, %f3, %f52210x8b,0xa0,0x4c,0x23222# CHECK: fhaddd %f0, %f2, %f42230x89,0xa0,0x0c,0x42224# CHECK: fhsubs %f1, %f3, %f52250x8b,0xa0,0x4c,0xa3226# CHECK: fhsubd %f0, %f2, %f42270x89,0xa0,0x0c,0xc2228# CHECK: flcmps %fcc0, %f3, %f52290x81,0xb0,0xea,0x25230# CHECK: flcmpd %fcc0, %f2, %f42310x81,0xb0,0xaa,0x44232 233# CHECK: fnadds %f1, %f3, %f52340x8b,0xa0,0x4a,0x23235# CHECK: fnaddd %f0, %f2, %f42360x89,0xa0,0x0a,0x42237# CHECK: fnhadds %f1, %f3, %f52380x8b,0xa0,0x4e,0x23239# CHECK: fnhaddd %f0, %f2, %f42400x89,0xa0,0x0e,0x42241 242# CHECK: fnmuls %f1, %f3, %f52430x8b,0xa0,0x4b,0x23244# CHECK: fnmuld %f0, %f2, %f42450x89,0xa0,0x0b,0x42246# CHECK: fnsmuld %f1, %f3, %f42470x89,0xa0,0x4f,0x23248 249# CHECK: fpadd64 %f0, %f2, %f42500x89,0xb0,0x08,0x42251 252# CHECK: fsll16 %f0, %f2, %f42530x89,0xb0,0x04,0x22254# CHECK: fsrl16 %f0, %f2, %f42550x89,0xb0,0x04,0x62256# CHECK: fsll32 %f0, %f2, %f42570x89,0xb0,0x04,0xa2258# CHECK: fsrl32 %f0, %f2, %f42590x89,0xb0,0x04,0xe2260# CHECK: fslas16 %f0, %f2, %f42610x89,0xb0,0x05,0x22262# CHECK: fsra16 %f0, %f2, %f42630x89,0xb0,0x05,0x62264# CHECK: fslas32 %f0, %f2, %f42650x89,0xb0,0x05,0xa2266# CHECK: fsra32 %f0, %f2, %f42670x89,0xb0,0x05,0xe2268 269# CHECK: lzcnt %o0, %o12700x93,0xb0,0x02,0xe8271 272# CHECK: movstosw %f0, %o02730x91,0xb0,0x22,0x60274# CHECK: movstouw %f0, %o02750x91,0xb0,0x22,0x20276# CHECK: movdtox %f0, %o02770x91,0xb0,0x22,0x00278# CHECK: movwtos %o0, %f02790x81,0xb0,0x23,0x28280# CHECK: movxtod %o0, %f02810x81,0xb0,0x23,0x08282 283# CHECK: pdistn %f0, %f2, %o02840x91,0xb0,0x07,0xe2285 286# CHECK: umulxhi %o0, %o1, %o22870x95,0xb2,0x02,0xc9288# CHECK: xmulx %o0, %o1, %o22890x95,0xb2,0x22,0xa9290# CHECK: xmulxhi %o0, %o1, %o22910x95,0xb2,0x22,0xc9292