1# Copyright (c) 2007-2008 The Hewlett-Packard Development Company 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 100 unchanged lines hidden (view full) --- 109 xor t1, t1, t4 110 st t1, seg, riprel, disp 111}; 112 113def macroop BTC_LOCKED_M_I { 114 limm t1, imm, dataSize=asz 115 limm t4, 1 116 roli t4, t4, imm |
117 mfence |
118 ldstl t1, seg, sib, disp 119 sexti t0, t1, imm, flags=(CF,) 120 xor t1, t1, t4 121 stul t1, seg, sib, disp |
122 mfence |
123}; 124 125def macroop BTC_LOCKED_P_I { 126 rdip t7, dataSize=asz 127 limm t1, imm, dataSize=asz 128 limm t4, 1 129 roli t4, t4, imm |
130 mfence |
131 ldstl t1, seg, riprel, disp 132 sexti t0, t1, imm, flags=(CF,) 133 xor t1, t1, t4 134 stul t1, seg, riprel, disp |
135 mfence |
136}; 137 138def macroop BTC_R_R { 139 sext t0, reg, regm, flags=(CF,) 140 limm t1, 1 141 rol t1, t1, regm 142 xor reg, reg, t1 143}; --- 23 unchanged lines hidden (view full) --- 167}; 168 169def macroop BTC_LOCKED_M_R { 170 srai t2, reg, 3, dataSize=asz 171 srai t3, t2, ldsz, dataSize=asz 172 lea t3, flatseg, [dsz, t3, base], dataSize=asz 173 limm t4, 1 174 rol t4, t4, reg |
175 mfence |
176 ldstl t1, seg, [scale, index, t3], disp 177 sext t0, t1, reg, flags=(CF,) 178 xor t1, t1, t4 179 stul t1, seg, [scale, index, t3], disp |
180 mfence |
181}; 182 183def macroop BTC_LOCKED_P_R { 184 rdip t7, dataSize=asz 185 srai t2, reg, 3, dataSize=asz 186 srai t3, t2, ldsz, dataSize=asz 187 limm t4, 1 188 rol t4, t4, reg |
189 mfence |
190 ldstl t1, seg, [dsz, t3, t7], disp 191 sext t0, t1, reg, flags=(CF,) 192 xor t1, t1, t4 193 stul t1, seg, [dsz, t3, t7], disp |
194 mfence |
195}; 196 197def macroop BTR_R_I { 198 sexti t0, reg, imm, flags=(CF,) 199 limm t1, "(uint64_t(-(2ULL)))" 200 roli t1, t1, imm 201 and reg, reg, t1 202}; --- 18 unchanged lines hidden (view full) --- 221 and t1, t1, t4 222 st t1, seg, riprel, disp 223}; 224 225def macroop BTR_LOCKED_M_I { 226 limm t1, imm, dataSize=asz 227 limm t4, "(uint64_t(-(2ULL)))" 228 roli t4, t4, imm |
229 mfence |
230 ldstl t1, seg, sib, disp 231 sexti t0, t1, imm, flags=(CF,) 232 and t1, t1, t4 233 stul t1, seg, sib, disp |
234 mfence |
235}; 236 237def macroop BTR_LOCKED_P_I { 238 rdip t7, dataSize=asz 239 limm t1, imm, dataSize=asz 240 limm t4, "(uint64_t(-(2ULL)))" 241 roli t4, t4, imm |
242 mfence |
243 ldstl t1, seg, riprel, disp 244 sexti t0, t1, imm, flags=(CF,) 245 and t1, t1, t4 246 stul t1, seg, riprel, disp |
247 mfence |
248}; 249 250def macroop BTR_R_R { 251 sext t0, reg, regm, flags=(CF,) 252 limm t1, "(uint64_t(-(2ULL)))" 253 rol t1, t1, regm 254 and reg, reg, t1 255}; --- 23 unchanged lines hidden (view full) --- 279}; 280 281def macroop BTR_LOCKED_M_R { 282 srai t2, reg, 3, dataSize=asz 283 srai t3, t2, ldsz, dataSize=asz 284 lea t3, flatseg, [dsz, t3, base], dataSize=asz 285 limm t4, "(uint64_t(-(2ULL)))" 286 rol t4, t4, reg |
287 mfence |
288 ldstl t1, seg, [scale, index, t3], disp 289 sext t0, t1, reg, flags=(CF,) 290 and t1, t1, t4 291 stul t1, seg, [scale, index, t3], disp |
292 mfence |
293}; 294 295def macroop BTR_LOCKED_P_R { 296 rdip t7, dataSize=asz 297 srai t2, reg, 3, dataSize=asz 298 srai t3, t2, ldsz, dataSize=asz 299 limm t4, "(uint64_t(-(2ULL)))" 300 rol t4, t4, reg |
301 mfence |
302 ldstl t1, seg, [dsz, t3, t7], disp 303 sext t0, t1, reg, flags=(CF,) 304 and t1, t1, t4 305 stul t1, seg, [dsz, t3, t7], disp |
306 mfence |
307}; 308 309def macroop BTS_R_I { 310 sexti t0, reg, imm, flags=(CF,) 311 limm t1, 1 312 roli t1, t1, imm 313 or reg, reg, t1 314}; --- 18 unchanged lines hidden (view full) --- 333 or t1, t1, t4 334 st t1, seg, riprel, disp 335}; 336 337def macroop BTS_LOCKED_M_I { 338 limm t1, imm, dataSize=asz 339 limm t4, 1 340 roli t4, t4, imm |
341 mfence |
342 ldstl t1, seg, sib, disp 343 sexti t0, t1, imm, flags=(CF,) 344 or t1, t1, t4 345 stul t1, seg, sib, disp |
346 mfence |
347}; 348 349def macroop BTS_LOCKED_P_I { 350 rdip t7, dataSize=asz 351 limm t1, imm, dataSize=asz 352 limm t4, 1 353 roli t4, t4, imm |
354 mfence |
355 ldstl t1, seg, riprel, disp 356 sexti t0, t1, imm, flags=(CF,) 357 or t1, t1, t4 358 stul t1, seg, riprel, disp |
359 mfence |
360}; 361 362def macroop BTS_R_R { 363 sext t0, reg, regm, flags=(CF,) 364 limm t1, 1 365 rol t1, t1, regm 366 or reg, reg, t1 367}; --- 24 unchanged lines hidden (view full) --- 392}; 393 394def macroop BTS_LOCKED_M_R { 395 srai t2, reg, 3, dataSize=asz 396 srai t3, t2, ldsz, dataSize=asz 397 lea t3, flatseg, [dsz, t3, base], dataSize=asz 398 limm t4, 1 399 rol t4, t4, reg |
400 mfence |
401 ldstl t1, seg, [scale, index, t3], disp 402 sext t0, t1, reg, flags=(CF,) 403 or t1, t1, t4 404 stul t1, seg, [scale, index, t3], disp |
405 mfence |
406}; 407 408def macroop BTS_LOCKED_P_R { 409 rdip t7, dataSize=asz 410 srai t2, reg, 3, dataSize=asz 411 srai t3, t2, ldsz, dataSize=asz 412 lea t3, flatseg, [dsz, t3, base], dataSize=asz 413 limm t4, 1 414 rol t4, t4, reg |
415 mfence |
416 ldstl t1, seg, [1, t3, t7], disp 417 sext t0, t1, reg, flags=(CF,) 418 or t1, t1, t4 419 stul t1, seg, [1, t3, t7], disp |
420 mfence |
421}; 422''' |