Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 1 | class sf_SInst_sf<string opc, Intrinsic IntID> |
| 2 | : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1), |
| 3 | !strconcat("$dst = ", !strconcat(opc , "($src1)")), |
| 4 | [(set IntRegs:$dst, (IntID IntRegs:$src1))]>; |
| 5 | |
| 6 | class si_SInst_sf<string opc, Intrinsic IntID> |
| 7 | : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1), |
| 8 | !strconcat("$dst = ", !strconcat(opc , "($src1)")), |
| 9 | [(set IntRegs:$dst, (IntID IntRegs:$src1))]>; |
| 10 | |
| 11 | class sf_SInst_si<string opc, Intrinsic IntID> |
| 12 | : SInst<(outs IntRegs:$dst), (ins IntRegs:$src1), |
| 13 | !strconcat("$dst = ", !strconcat(opc , "($src1)")), |
| 14 | [(set IntRegs:$dst, (IntID IntRegs:$src1))]>; |
| 15 | |
| 16 | class sf_SInst_di<string opc, Intrinsic IntID> |
| 17 | : SInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1), |
| 18 | !strconcat("$dst = ", !strconcat(opc , "($src1)")), |
| 19 | [(set IntRegs:$dst, (IntID DoubleRegs:$src1))]>; |
| 20 | |
| 21 | class sf_SInst_df<string opc, Intrinsic IntID> |
| 22 | : SInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1), |
| 23 | !strconcat("$dst = ", !strconcat(opc , "($src1)")), |
| 24 | [(set IntRegs:$dst, (IntID DoubleRegs:$src1))]>; |
| 25 | |
| 26 | class si_SInst_df<string opc, Intrinsic IntID> |
| 27 | : SInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1), |
| 28 | !strconcat("$dst = ", !strconcat(opc , "($src1)")), |
| 29 | [(set IntRegs:$dst, (IntID DoubleRegs:$src1))]>; |
| 30 | |
| 31 | class df_SInst_sf<string opc, Intrinsic IntID> |
| 32 | : SInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1), |
| 33 | !strconcat("$dst = ", !strconcat(opc , "($src1)")), |
| 34 | [(set DoubleRegs:$dst, (IntID IntRegs:$src1))]>; |
| 35 | |
| 36 | class di_SInst_sf<string opc, Intrinsic IntID> |
| 37 | : SInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1), |
| 38 | !strconcat("$dst = ", !strconcat(opc , "($src1)")), |
| 39 | [(set DoubleRegs:$dst, (IntID IntRegs:$src1))]>; |
| 40 | |
| 41 | class df_SInst_si<string opc, Intrinsic IntID> |
| 42 | : SInst<(outs DoubleRegs:$dst), (ins IntRegs:$src1), |
| 43 | !strconcat("$dst = ", !strconcat(opc , "($src1)")), |
| 44 | [(set DoubleRegs:$dst, (IntID IntRegs:$src1))]>; |
| 45 | |
| 46 | class df_SInst_df<string opc, Intrinsic IntID> |
| 47 | : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1), |
| 48 | !strconcat("$dst = ", !strconcat(opc , "($src1)")), |
| 49 | [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1))]>; |
| 50 | |
| 51 | class di_SInst_df<string opc, Intrinsic IntID> |
| 52 | : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1), |
| 53 | !strconcat("$dst = ", !strconcat(opc , "($src1)")), |
| 54 | [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1))]>; |
| 55 | |
| 56 | |
| 57 | class df_SInst_di<string opc, Intrinsic IntID> |
| 58 | : SInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1), |
| 59 | !strconcat("$dst = ", !strconcat(opc , "($src1)")), |
| 60 | [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1))]>; |
| 61 | |
| 62 | class sf_MInst_sfsf<string opc, Intrinsic IntID> |
| 63 | : MInst<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2), |
| 64 | !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")), |
| 65 | [(set IntRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>; |
| 66 | |
| 67 | class df_MInst_dfdf<string opc, Intrinsic IntID> |
| 68 | : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2), |
| 69 | !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")), |
| 70 | [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2))]>; |
| 71 | |
| 72 | class qi_ALU64_dfdf<string opc, Intrinsic IntID> |
| 73 | : ALU64_rr<(outs PredRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2), |
| 74 | !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")), |
| 75 | [(set PredRegs:$dst, (IntID DoubleRegs:$src1, DoubleRegs:$src2))]>; |
| 76 | |
| 77 | class qi_ALU64_dfu5<string opc, Intrinsic IntID> |
| 78 | : ALU64_ri<(outs PredRegs:$dst), (ins DoubleRegs:$src1, u5Imm:$src2), |
| 79 | !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")), |
| 80 | [(set PredRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>; |
| 81 | |
| 82 | |
| 83 | class sf_MInst_sfsfsf_acc<string opc, Intrinsic IntID> |
| 84 | : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2, |
| 85 | IntRegs:$dst2), |
| 86 | !strconcat("$dst += ", !strconcat(opc , |
| 87 | "($src1, $src2)")), |
| 88 | [(set IntRegs:$dst, (IntID IntRegs:$src1, |
| 89 | IntRegs:$src2, IntRegs:$dst2))], |
| 90 | "$dst2 = $dst">; |
| 91 | |
| 92 | class sf_MInst_sfsfsf_nac<string opc, Intrinsic IntID> |
| 93 | : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2, |
| 94 | IntRegs:$dst2), |
| 95 | !strconcat("$dst -= ", !strconcat(opc , |
| 96 | "($src1, $src2)")), |
| 97 | [(set IntRegs:$dst, (IntID IntRegs:$src1, |
| 98 | IntRegs:$src2, IntRegs:$dst2))], |
| 99 | "$dst2 = $dst">; |
| 100 | |
| 101 | |
| 102 | class sf_MInst_sfsfsfsi_sc<string opc, Intrinsic IntID> |
| 103 | : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$dst2, IntRegs:$src1, |
| 104 | IntRegs:$src2, IntRegs:$src3), |
| 105 | !strconcat("$dst += ", !strconcat(opc , |
| 106 | "($src1, $src2, $src3):scale")), |
| 107 | [(set IntRegs:$dst, (IntID IntRegs:$dst2, IntRegs:$src1, |
| 108 | IntRegs:$src2, IntRegs:$src3))], |
| 109 | "$dst2 = $dst">; |
| 110 | |
| 111 | class sf_MInst_sfsfsf_acc_lib<string opc, Intrinsic IntID> |
| 112 | : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2, |
| 113 | IntRegs:$dst2), |
| 114 | !strconcat("$dst += ", !strconcat(opc , |
| 115 | "($src1, $src2):lib")), |
| 116 | [(set IntRegs:$dst, (IntID IntRegs:$src1, |
| 117 | IntRegs:$src2, IntRegs:$dst2))], |
| 118 | "$dst2 = $dst">; |
| 119 | |
| 120 | class sf_MInst_sfsfsf_nac_lib<string opc, Intrinsic IntID> |
| 121 | : MInst_acc<(outs IntRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2, |
| 122 | IntRegs:$dst2), |
| 123 | !strconcat("$dst -= ", !strconcat(opc , |
| 124 | "($src1, $src2):lib")), |
| 125 | [(set IntRegs:$dst, (IntID IntRegs:$src1, |
| 126 | IntRegs:$src2, IntRegs:$dst2))], |
| 127 | "$dst2 = $dst">; |
| 128 | |
| 129 | class df_MInst_dfdfdf_acc<string opc, Intrinsic IntID> |
| 130 | : MInst_acc<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2, |
| 131 | DoubleRegs:$dst2), |
| 132 | !strconcat("$dst += ", !strconcat(opc , |
| 133 | "($src1, $src2)")), |
| 134 | [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, |
| 135 | DoubleRegs:$src2, DoubleRegs:$dst2))], |
| 136 | "$dst2 = $dst">; |
| 137 | |
| 138 | class df_MInst_dfdfdf_nac<string opc, Intrinsic IntID> |
| 139 | : MInst_acc<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2, |
| 140 | DoubleRegs:$dst2), |
| 141 | !strconcat("$dst -= ", !strconcat(opc , |
| 142 | "($src1, $src2)")), |
| 143 | [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, |
| 144 | DoubleRegs:$src2, DoubleRegs:$dst2))], |
| 145 | "$dst2 = $dst">; |
| 146 | |
| 147 | |
| 148 | class df_MInst_dfdfdfsi_sc<string opc, Intrinsic IntID> |
| 149 | : MInst_acc<(outs DoubleRegs:$dst), (ins DoubleRegs:$dst2, DoubleRegs:$src1, |
| 150 | DoubleRegs:$src2, IntRegs:$src3), |
| 151 | !strconcat("$dst += ", !strconcat(opc , |
| 152 | "($src1, $src2, $src3):scale")), |
| 153 | [(set DoubleRegs:$dst, (IntID DoubleRegs:$dst2, DoubleRegs:$src1, |
| 154 | DoubleRegs:$src2, IntRegs:$src3))], |
| 155 | "$dst2 = $dst">; |
| 156 | |
| 157 | class df_MInst_dfdfdf_acc_lib<string opc, Intrinsic IntID> |
| 158 | : MInst_acc<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2, |
| 159 | DoubleRegs:$dst2), |
| 160 | !strconcat("$dst += ", !strconcat(opc , |
| 161 | "($src1, $src2):lib")), |
| 162 | [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, |
| 163 | DoubleRegs:$src2, DoubleRegs:$dst2))], |
| 164 | "$dst2 = $dst">; |
| 165 | |
| 166 | class df_MInst_dfdfdf_nac_lib<string opc, Intrinsic IntID> |
| 167 | : MInst_acc<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, DoubleRegs:$src2, |
| 168 | DoubleRegs:$dst2), |
| 169 | !strconcat("$dst -= ", !strconcat(opc , |
| 170 | "($src1, $src2):lib")), |
| 171 | [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, |
| 172 | DoubleRegs:$src2, DoubleRegs:$dst2))], |
| 173 | "$dst2 = $dst">; |
| 174 | |
| 175 | class qi_SInst_sfsf<string opc, Intrinsic IntID> |
| 176 | : SInst<(outs PredRegs:$dst), (ins IntRegs:$src1, IntRegs:$src2), |
| 177 | !strconcat("$dst = ", !strconcat(opc , "($src1, $src2)")), |
| 178 | [(set PredRegs:$dst, (IntID IntRegs:$src1, IntRegs:$src2))]>; |
| 179 | |
| 180 | class qi_SInst_sfu5<string opc, Intrinsic IntID> |
| 181 | : MInst<(outs PredRegs:$dst), (ins IntRegs:$src1, u5Imm:$src2), |
| 182 | !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")), |
| 183 | [(set PredRegs:$dst, (IntID IntRegs:$src1, imm:$src2))]>; |
| 184 | |
| 185 | class sf_ALU64_u10_pos<string opc, Intrinsic IntID> |
| 186 | : ALU64_ri<(outs IntRegs:$dst), (ins u10Imm:$src1), |
| 187 | !strconcat("$dst = ", !strconcat(opc , "#$src1):pos")), |
| 188 | [(set IntRegs:$dst, (IntID imm:$src1))]>; |
| 189 | |
| 190 | class sf_ALU64_u10_neg<string opc, Intrinsic IntID> |
| 191 | : ALU64_ri<(outs IntRegs:$dst), (ins u10Imm:$src1), |
| 192 | !strconcat("$dst = ", !strconcat(opc , "#$src1):neg")), |
| 193 | [(set IntRegs:$dst, (IntID imm:$src1))]>; |
| 194 | |
| 195 | class df_ALU64_u10_pos<string opc, Intrinsic IntID> |
| 196 | : ALU64_ri<(outs DoubleRegs:$dst), (ins u10Imm:$src1), |
| 197 | !strconcat("$dst = ", !strconcat(opc , "#$src1):pos")), |
| 198 | [(set DoubleRegs:$dst, (IntID imm:$src1))]>; |
| 199 | |
| 200 | class df_ALU64_u10_neg<string opc, Intrinsic IntID> |
| 201 | : ALU64_ri<(outs DoubleRegs:$dst), (ins u10Imm:$src1), |
| 202 | !strconcat("$dst = ", !strconcat(opc , "#$src1):neg")), |
| 203 | [(set DoubleRegs:$dst, (IntID imm:$src1))]>; |
| 204 | |
| 205 | class di_MInst_diu6<string opc, Intrinsic IntID> |
| 206 | : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, u6Imm:$src2), |
| 207 | !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2)")), |
| 208 | [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>; |
| 209 | |
| 210 | class di_MInst_diu4_rnd<string opc, Intrinsic IntID> |
| 211 | : MInst<(outs DoubleRegs:$dst), (ins DoubleRegs:$src1, u4Imm:$src2), |
| 212 | !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2):rnd")), |
| 213 | [(set DoubleRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>; |
| 214 | |
| 215 | class si_MInst_diu4_rnd_sat<string opc, Intrinsic IntID> |
| 216 | : MInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1, u4Imm:$src2), |
| 217 | !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2):rnd:sat")), |
| 218 | [(set IntRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>; |
| 219 | |
| 220 | class si_SInst_diu4_sat<string opc, Intrinsic IntID> |
| 221 | : SInst<(outs IntRegs:$dst), (ins DoubleRegs:$src1, u4Imm:$src2), |
| 222 | !strconcat("$dst = ", !strconcat(opc , "($src1, #$src2):sat")), |
| 223 | [(set IntRegs:$dst, (IntID DoubleRegs:$src1, imm:$src2))]>; |
| 224 | |
| 225 | |
| 226 | def HEXAGON_C4_fastcorner9: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 227 | qi_SInst_qiqi <"fastcorner9", int_hexagon_C4_fastcorner9>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 228 | def HEXAGON_C4_fastcorner9_not: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 229 | qi_SInst_qiqi <"!fastcorner9", int_hexagon_C4_fastcorner9_not>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 230 | def HEXAGON_M5_vrmpybuu: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 231 | di_MInst_didi <"vrmpybu", int_hexagon_M5_vrmpybuu>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 232 | def HEXAGON_M5_vrmacbuu: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 233 | di_MInst_dididi_acc <"vrmpybu", int_hexagon_M5_vrmacbuu>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 234 | def HEXAGON_M5_vrmpybsu: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 235 | di_MInst_didi <"vrmpybsu", int_hexagon_M5_vrmpybsu>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 236 | def HEXAGON_M5_vrmacbsu: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 237 | di_MInst_dididi_acc <"vrmpybsu", int_hexagon_M5_vrmacbsu>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 238 | def HEXAGON_M5_vmpybuu: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 239 | di_MInst_sisi <"vmpybu", int_hexagon_M5_vmpybuu>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 240 | def HEXAGON_M5_vmpybsu: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 241 | di_MInst_sisi <"vmpybsu", int_hexagon_M5_vmpybsu>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 242 | def HEXAGON_M5_vmacbuu: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 243 | di_MInst_disisi_acc <"vmpybu", int_hexagon_M5_vmacbuu>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 244 | def HEXAGON_M5_vmacbsu: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 245 | di_MInst_disisi_acc <"vmpybsu", int_hexagon_M5_vmacbsu>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 246 | def HEXAGON_M5_vdmpybsu: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 247 | di_MInst_didi_sat <"vdmpybsu", int_hexagon_M5_vdmpybsu>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 248 | def HEXAGON_M5_vdmacbsu: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 249 | di_MInst_dididi_acc_sat <"vdmpybsu", int_hexagon_M5_vdmacbsu>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 250 | def HEXAGON_A5_vaddhubs: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 251 | si_SInst_didi_sat <"vaddhub", int_hexagon_A5_vaddhubs>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 252 | def HEXAGON_S5_popcountp: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 253 | si_SInst_di <"popcount", int_hexagon_S5_popcountp>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 254 | def HEXAGON_S5_asrhub_rnd_sat_goodsyntax: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 255 | si_MInst_diu4_rnd_sat <"vasrhub", int_hexagon_S5_asrhub_rnd_sat_goodsyntax>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 256 | def HEXAGON_S5_asrhub_sat: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 257 | si_SInst_diu4_sat <"vasrhub", int_hexagon_S5_asrhub_sat>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 258 | def HEXAGON_S5_vasrhrnd_goodsyntax: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 259 | di_MInst_diu4_rnd <"vasrh", int_hexagon_S5_vasrhrnd_goodsyntax>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 260 | def HEXAGON_S2_asr_i_p_rnd: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 261 | di_SInst_diu6 <"asr", int_hexagon_S2_asr_i_p_rnd>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 262 | def HEXAGON_S2_asr_i_p_rnd_goodsyntax: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 263 | di_MInst_diu6 <"asrrnd", int_hexagon_S2_asr_i_p_rnd_goodsyntax>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 264 | def HEXAGON_F2_sfadd: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 265 | sf_MInst_sfsf <"sfadd", int_hexagon_F2_sfadd>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 266 | def HEXAGON_F2_sfsub: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 267 | sf_MInst_sfsf <"sfsub", int_hexagon_F2_sfsub>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 268 | def HEXAGON_F2_sfmpy: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 269 | sf_MInst_sfsf <"sfmpy", int_hexagon_F2_sfmpy>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 270 | def HEXAGON_F2_sffma: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 271 | sf_MInst_sfsfsf_acc <"sfmpy", int_hexagon_F2_sffma>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 272 | def HEXAGON_F2_sffma_sc: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 273 | sf_MInst_sfsfsfsi_sc <"sfmpy", int_hexagon_F2_sffma_sc>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 274 | def HEXAGON_F2_sffms: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 275 | sf_MInst_sfsfsf_nac <"sfmpy", int_hexagon_F2_sffms>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 276 | def HEXAGON_F2_sffma_lib: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 277 | sf_MInst_sfsfsf_acc_lib <"sfmpy", int_hexagon_F2_sffma_lib>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 278 | def HEXAGON_F2_sffms_lib: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 279 | sf_MInst_sfsfsf_nac_lib <"sfmpy", int_hexagon_F2_sffms_lib>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 280 | def HEXAGON_F2_sfcmpeq: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 281 | qi_SInst_sfsf <"sfcmp.eq", int_hexagon_F2_sfcmpeq>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 282 | def HEXAGON_F2_sfcmpgt: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 283 | qi_SInst_sfsf <"sfcmp.gt", int_hexagon_F2_sfcmpgt>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 284 | def HEXAGON_F2_sfcmpge: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 285 | qi_SInst_sfsf <"sfcmp.ge", int_hexagon_F2_sfcmpge>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 286 | def HEXAGON_F2_sfcmpuo: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 287 | qi_SInst_sfsf <"sfcmp.uo", int_hexagon_F2_sfcmpuo>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 288 | def HEXAGON_F2_sfmax: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 289 | sf_MInst_sfsf <"sfmax", int_hexagon_F2_sfmax>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 290 | def HEXAGON_F2_sfmin: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 291 | sf_MInst_sfsf <"sfmin", int_hexagon_F2_sfmin>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 292 | def HEXAGON_F2_sfclass: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 293 | qi_SInst_sfu5 <"sfclass", int_hexagon_F2_sfclass>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 294 | def HEXAGON_F2_sfimm_p: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 295 | sf_ALU64_u10_pos <"sfmake", int_hexagon_F2_sfimm_p>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 296 | def HEXAGON_F2_sfimm_n: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 297 | sf_ALU64_u10_neg <"sfmake", int_hexagon_F2_sfimm_n>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 298 | def HEXAGON_F2_sffixupn: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 299 | sf_MInst_sfsf <"sffixupn", int_hexagon_F2_sffixupn>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 300 | def HEXAGON_F2_sffixupd: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 301 | sf_MInst_sfsf <"sffixupd", int_hexagon_F2_sffixupd>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 302 | def HEXAGON_F2_sffixupr: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 303 | sf_SInst_sf <"sffixupr", int_hexagon_F2_sffixupr>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 304 | def HEXAGON_F2_dfadd: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 305 | df_MInst_dfdf <"dfadd", int_hexagon_F2_dfadd>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 306 | def HEXAGON_F2_dfsub: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 307 | df_MInst_dfdf <"dfsub", int_hexagon_F2_dfsub>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 308 | def HEXAGON_F2_dfmpy: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 309 | df_MInst_dfdf <"dfmpy", int_hexagon_F2_dfmpy>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 310 | def HEXAGON_F2_dffma: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 311 | df_MInst_dfdfdf_acc <"dfmpy", int_hexagon_F2_dffma>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 312 | def HEXAGON_F2_dffms: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 313 | df_MInst_dfdfdf_nac <"dfmpy", int_hexagon_F2_dffms>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 314 | def HEXAGON_F2_dffma_lib: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 315 | df_MInst_dfdfdf_acc_lib <"dfmpy", int_hexagon_F2_dffma_lib>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 316 | def HEXAGON_F2_dffms_lib: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 317 | df_MInst_dfdfdf_nac_lib <"dfmpy", int_hexagon_F2_dffms_lib>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 318 | def HEXAGON_F2_dffma_sc: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 319 | df_MInst_dfdfdfsi_sc <"dfmpy", int_hexagon_F2_dffma_sc>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 320 | def HEXAGON_F2_dfmax: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 321 | df_MInst_dfdf <"dfmax", int_hexagon_F2_dfmax>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 322 | def HEXAGON_F2_dfmin: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 323 | df_MInst_dfdf <"dfmin", int_hexagon_F2_dfmin>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 324 | def HEXAGON_F2_dfcmpeq: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 325 | qi_ALU64_dfdf <"dfcmp.eq", int_hexagon_F2_dfcmpeq>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 326 | def HEXAGON_F2_dfcmpgt: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 327 | qi_ALU64_dfdf <"dfcmp.gt", int_hexagon_F2_dfcmpgt>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 328 | def HEXAGON_F2_dfcmpge: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 329 | qi_ALU64_dfdf <"dfcmp.ge", int_hexagon_F2_dfcmpge>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 330 | def HEXAGON_F2_dfcmpuo: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 331 | qi_ALU64_dfdf <"dfcmp.uo", int_hexagon_F2_dfcmpuo>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 332 | def HEXAGON_F2_dfclass: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 333 | qi_ALU64_dfu5 <"dfclass", int_hexagon_F2_dfclass>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 334 | def HEXAGON_F2_dfimm_p: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 335 | df_ALU64_u10_pos <"dfmake", int_hexagon_F2_dfimm_p>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 336 | def HEXAGON_F2_dfimm_n: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 337 | df_ALU64_u10_neg <"dfmake", int_hexagon_F2_dfimm_n>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 338 | def HEXAGON_F2_dffixupn: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 339 | df_MInst_dfdf <"dffixupn", int_hexagon_F2_dffixupn>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 340 | def HEXAGON_F2_dffixupd: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 341 | df_MInst_dfdf <"dffixupd", int_hexagon_F2_dffixupd>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 342 | def HEXAGON_F2_dffixupr: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 343 | df_SInst_df <"dffixupr", int_hexagon_F2_dffixupr>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 344 | def HEXAGON_F2_conv_sf2df: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 345 | df_SInst_sf <"convert_sf2df", int_hexagon_F2_conv_sf2df>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 346 | def HEXAGON_F2_conv_df2sf: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 347 | sf_SInst_df <"convert_df2sf", int_hexagon_F2_conv_df2sf>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 348 | def HEXAGON_F2_conv_uw2sf: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 349 | sf_SInst_si <"convert_uw2sf", int_hexagon_F2_conv_uw2sf>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 350 | def HEXAGON_F2_conv_uw2df: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 351 | df_SInst_si <"convert_uw2df", int_hexagon_F2_conv_uw2df>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 352 | def HEXAGON_F2_conv_w2sf: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 353 | sf_SInst_si <"convert_w2sf", int_hexagon_F2_conv_w2sf>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 354 | def HEXAGON_F2_conv_w2df: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 355 | df_SInst_si <"convert_w2df", int_hexagon_F2_conv_w2df>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 356 | def HEXAGON_F2_conv_ud2sf: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 357 | sf_SInst_di <"convert_ud2sf", int_hexagon_F2_conv_ud2sf>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 358 | def HEXAGON_F2_conv_ud2df: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 359 | df_SInst_di <"convert_ud2df", int_hexagon_F2_conv_ud2df>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 360 | def HEXAGON_F2_conv_d2sf: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 361 | sf_SInst_di <"convert_d2sf", int_hexagon_F2_conv_d2sf>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 362 | def HEXAGON_F2_conv_d2df: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 363 | df_SInst_di <"convert_d2df", int_hexagon_F2_conv_d2df>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 364 | def HEXAGON_F2_conv_sf2uw: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 365 | si_SInst_sf <"convert_sf2uw", int_hexagon_F2_conv_sf2uw>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 366 | def HEXAGON_F2_conv_sf2w: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 367 | si_SInst_sf <"convert_sf2w", int_hexagon_F2_conv_sf2w>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 368 | def HEXAGON_F2_conv_sf2ud: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 369 | di_SInst_sf <"convert_sf2ud", int_hexagon_F2_conv_sf2ud>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 370 | def HEXAGON_F2_conv_sf2d: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 371 | di_SInst_sf <"convert_sf2d", int_hexagon_F2_conv_sf2d>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 372 | def HEXAGON_F2_conv_df2uw: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 373 | si_SInst_df <"convert_df2uw", int_hexagon_F2_conv_df2uw>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 374 | def HEXAGON_F2_conv_df2w: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 375 | si_SInst_df <"convert_df2w", int_hexagon_F2_conv_df2w>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 376 | def HEXAGON_F2_conv_df2ud: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 377 | di_SInst_df <"convert_df2ud", int_hexagon_F2_conv_df2ud>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 378 | def HEXAGON_F2_conv_df2d: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 379 | di_SInst_df <"convert_df2d", int_hexagon_F2_conv_df2d>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 380 | def HEXAGON_F2_conv_sf2uw_chop: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 381 | si_SInst_sf <"convert_sf2uw", int_hexagon_F2_conv_sf2uw_chop>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 382 | def HEXAGON_F2_conv_sf2w_chop: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 383 | si_SInst_sf <"convert_sf2w", int_hexagon_F2_conv_sf2w_chop>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 384 | def HEXAGON_F2_conv_sf2ud_chop: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 385 | di_SInst_sf <"convert_sf2ud", int_hexagon_F2_conv_sf2ud_chop>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 386 | def HEXAGON_F2_conv_sf2d_chop: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 387 | di_SInst_sf <"convert_sf2d", int_hexagon_F2_conv_sf2d_chop>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 388 | def HEXAGON_F2_conv_df2uw_chop: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 389 | si_SInst_df <"convert_df2uw", int_hexagon_F2_conv_df2uw_chop>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 390 | def HEXAGON_F2_conv_df2w_chop: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 391 | si_SInst_df <"convert_df2w", int_hexagon_F2_conv_df2w_chop>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 392 | def HEXAGON_F2_conv_df2ud_chop: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 393 | di_SInst_df <"convert_df2ud", int_hexagon_F2_conv_df2ud_chop>; |
Sirish Pande | 81e900d | 2012-05-11 19:39:13 +0000 | [diff] [blame] | 394 | def HEXAGON_F2_conv_df2d_chop: |
Bill Wendling | 0818e71 | 2012-07-19 00:25:04 +0000 | [diff] [blame] | 395 | di_SInst_df <"convert_df2d", int_hexagon_F2_conv_df2d_chop>; |