mult.isa (7228:09302e193402) | mult.isa (7229:ed81380fd089) |
---|---|
1// -*- mode:c++ -*- 2 3// Copyright (c) 2010 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 270 unchanged lines hidden (view full) --- 279 sext<16>(bits(Reg3, 15, 0)) + 280 (int64_t)((Reg1.ud << 32) | 281 Reg0.ud); 282 Reg0.ud = (uint32_t)resTemp; 283 Reg1.ud = (uint32_t)(resTemp >> 32); 284 ''') 285 buildMult4InstUnCc("smmla", '''Reg0 = resTemp = 286 ((int64_t)(Reg3.ud << 32) + | 1// -*- mode:c++ -*- 2 3// Copyright (c) 2010 ARM Limited 4// All rights reserved 5// 6// The license below extends only to copyright in the software and shall 7// not be construed as granting a license to any other intellectual 8// property including but not limited to intellectual property relating --- 270 unchanged lines hidden (view full) --- 279 sext<16>(bits(Reg3, 15, 0)) + 280 (int64_t)((Reg1.ud << 32) | 281 Reg0.ud); 282 Reg0.ud = (uint32_t)resTemp; 283 Reg1.ud = (uint32_t)(resTemp >> 32); 284 ''') 285 buildMult4InstUnCc("smmla", '''Reg0 = resTemp = 286 ((int64_t)(Reg3.ud << 32) + |
287 Reg1.sw * Reg2.sw) >> 32; | 287 (int64_t)Reg1.sw * 288 (int64_t)Reg2.sw) >> 32; |
288 ''') 289 buildMult4InstUnCc("smmlar", '''Reg0 = resTemp = 290 ((int64_t)(Reg3.ud << 32) + | 289 ''') 290 buildMult4InstUnCc("smmlar", '''Reg0 = resTemp = 291 ((int64_t)(Reg3.ud << 32) + |
291 Reg1.sw * Reg2.sw + | 292 (int64_t)Reg1.sw * 293 (int64_t)Reg2.sw + |
292 ULL(0x80000000)) >> 32; 293 ''') 294 buildMult4InstUnCc("smmls", '''Reg0 = resTemp = 295 ((int64_t)(Reg3.ud << 32) - | 294 ULL(0x80000000)) >> 32; 295 ''') 296 buildMult4InstUnCc("smmls", '''Reg0 = resTemp = 297 ((int64_t)(Reg3.ud << 32) - |
296 Reg1.sw * Reg2.sw) >> 32; | 298 (int64_t)Reg1.sw * 299 (int64_t)Reg2.sw) >> 32; |
297 ''') 298 buildMult4InstUnCc("smmlsr", '''Reg0 = resTemp = 299 ((int64_t)(Reg3.ud << 32) - | 300 ''') 301 buildMult4InstUnCc("smmlsr", '''Reg0 = resTemp = 302 ((int64_t)(Reg3.ud << 32) - |
300 Reg1.sw * Reg2.sw + | 303 (int64_t)Reg1.sw * 304 (int64_t)Reg2.sw + |
301 ULL(0x80000000)) >> 32; 302 ''') 303 buildMult3InstUnCc("smmul", '''Reg0 = resTemp = | 305 ULL(0x80000000)) >> 32; 306 ''') 307 buildMult3InstUnCc("smmul", '''Reg0 = resTemp = |
304 ((int64_t)Reg1 * 305 (int64_t)Reg2) >> 32; | 308 ((int64_t)Reg1.sw * 309 (int64_t)Reg2.sw) >> 32; |
306 ''') 307 buildMult3InstUnCc("smmulr", '''Reg0 = resTemp = | 310 ''') 311 buildMult3InstUnCc("smmulr", '''Reg0 = resTemp = |
308 ((int64_t)Reg1 * 309 (int64_t)Reg2 + | 312 ((int64_t)Reg1.sw * 313 (int64_t)Reg2.sw + |
310 ULL(0x80000000)) >> 32; 311 ''') 312 buildMult3InstCc ("smuad", '''Reg0 = resTemp = 313 sext<16>(bits(Reg1, 15, 0)) * 314 sext<16>(bits(Reg2, 15, 0)) + 315 sext<16>(bits(Reg1, 31, 16)) * 316 sext<16>(bits(Reg2, 31, 16)); 317 resTemp = bits(resTemp, 32) != --- 66 unchanged lines hidden --- | 314 ULL(0x80000000)) >> 32; 315 ''') 316 buildMult3InstCc ("smuad", '''Reg0 = resTemp = 317 sext<16>(bits(Reg1, 15, 0)) * 318 sext<16>(bits(Reg2, 15, 0)) + 319 sext<16>(bits(Reg1, 31, 16)) * 320 sext<16>(bits(Reg2, 31, 16)); 321 resTemp = bits(resTemp, 32) != --- 66 unchanged lines hidden --- |