1/* load instructions */ 2 3 LDSB MOVB x, R 4 LDSBA MOVB x, R, asi 5 LDSH MOVH x, R 6 LDSHA MOVH x, R, asi 7 LDUB MOVBU x, R 8 LDUBA MOVBU x, R, asi 9 LDUH MOVHU x, R 10 LDUHA MOVHU x, R, asi 11 LD MOVW x, R 12 LDA MOVW x, R, asi 13 LDD MOVD x, R 14 LDDA MOVD x, R, asi 15 16note: x is (R+R) or offset(R) 17note: MOVD is a bad name, means double word 18 19/* load floating */ 20 21 LDF MOVF x, FR 22 LDDF MOVD x, FR 23 LDFSR MOVW x, FPSR 24 25note: MOVF maybe is MOVW 26 27/* load coprocessor */ 28 29 LDC MOVW x, CR 30 LDDC MOVD x, CR 31 LDCSR MOVW x, CPSR 32 33/* store */ 34 35 STB MOVB R, x 36 STBA MOVB R, x, asi 37 STH MOVH R, x 38 STHA MOVH R, x, asi 39 ST MOVW R, x 40 STA MOVW R, x, asi 41 STD MOVD R, x 42 STDA MOVD R, x, asi 43 44/* store floating * 45 46 STF MOVF FR, x 47 STDF MOVD FR, x 48 STFSR MOVW FPSR, x 49 STDFQ MOVD FPQ, x 50 51note: STDFQ gok 52 53/* store coprocessor */ 54 55 STC MOVW CR, x 56 STDC MOVD CR, x 57 STCSR MOVW CPSR, x 58 STDCQ MOVD CPQ, x 59 60/* atomic load/store */ 61 62 LDSTUB TAS x 63 LDSTUBA TAS x, asi 64 65/* swap */ 66 67 SWAP SWAP R, x 68 SWAPA SWAP R, x, asi 69 70/* calc */ 71 72 ADD ADDW y,R, R 73 ADDcc ADDWT y,R, R 74 ADDX ADDC y,R, R 75 ADDXcc ADDCT y,R, R 76 TADDcc 77 TADDccTV 78 SUB 79 SUBcc 80 SUBX 81 SUBXcc 82 TSUBcc 83 TSUBccTV 84 MULScc 85 AND 86 ANDcc 87 ANDN 88 ANDNcc 89 OR 90 ORcc 91 ORN 92 ORNcc 93 XOR 94 XORcc 95 XNOR 96 XNORcc 97 SLL 98 SRL 99 SRA 100 101note: y is R or $simm13 102 103/* sethi */ 104 105 SETHI MOVW $c, R /* high 22 bits */ 106 107/* save/restore (same as add) */ 108 109 SAVE SAVE y,R, R 110 RESTORE RESTORE y,R, R 111 112/* branch on cc */ 113 114 BA 115 BN 116 BNE 117 BE 118 BG 119 BLE 120 BGE 121 BL 122 BGU 123 BLEU 124 BCC 125 BCS 126 BPOS 127 BNEG 128 BVC 129 BVS 130 131note: annul bit? 132 133/* branch on fcc */ 134 135 FBA 136 FBN 137 FBU 138 FBG 139 FBUG 140 FBL 141 FBUL 142 FBLG 143 FBNE 144 FBE 145 FBUE 146 FBGE 147 FBUGE 148 FBLE 149 FBULE 150 FBO 151 152note: annul bit? 153 154/* branch on coprocecssor cc */ 155 156 CBA 157 CBN 158 CB3 159 CB2 160 CB23 161 CB1 162 CB13 163 CB12 164 CB123 165 CB0 166 CB03 167 CB02 168 CB023 169 CB01 170 CB013 171 CB012 172 173note: annul bit? 174 175/* call */ 176 177 CALL 178 JAL x, R 179 180/* return from trap */ 181 182 RETT x 183 184/* trap on integer cc */ 185 186 TA 187 TN 188 TNE 189 TE 190 TG 191 TLE 192 TGE 193 TL 194 TGU 195 TLEU 196 TCC 197 TCS 198 TPOS 199 TNEG 200 TVC 201 TVS 202 203/* read state register */ 204 205 RDY MOVW Y, R 206 RDPSR MOVW PSR, R 207 RDWIM MOVW WIM, R 208 RDTBR MOVW TBR, R 209 210/* write state register */ 211 212 WRY MOVW R, Y 213 WRPSR MOVW R, PSR 214 WRWIM MOVW R, WIM 215 WRTBR MOVW R, TBR 216 217/* unimplemented */ 218 219 UNIMP $C22 220 221/* instruction cache flush */ 222 223 IFLUSH x 224 225/* floating op */ 226 227 FiTOs 228 FiTOd 229 FiTOx 230 231 FsTOi 232 FdTOi 233 FxTOi 234 235 FsTOd 236 FsTOx 237 FdTOs 238 FdTOx 239 FxTOs 240 FxTOd 241 242 FMOVs 243 FNEGs 244 FABSs 245 246 FSQRTs 247 FSQRTd 248 FSQRTx 249 250 FADDs 251 FADDd 252 FADDx 253 FSUBs 254 FSUBd 255 FSUBx 256 257 FMULs 258 FMULd 259 FMULx 260 FDIVs 261 FDIVd 262 FDIVx 263 264 FCMPs 265 FCMPd 266 FCMPx 267 FCMPEs 268 FCMPEd 269 FCMPEx 270 271/* coprocessor op */ 272 273 CPop1 274 CPop2 275