Home | History | Annotate | Download | only in ARM

Lines Matching full:wback

1892         if wback then R[n] = offset_addr;
1910 bool wback;
1922 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21));
1924 if (wback && ((Rn == 15) || (Rn == Rt)))
1971 if (wback)
3355 if wback && registers<n> == '0' then R[n] = R[n] + 4 * BitCount (registers);
3356 if wback && registers<n> == '1' then R[n] = bits(32) UNKNOWN; // Only possible for encoding A1
3366 bool wback;
3371 // n = UInt(Rn); registers = '00000000':register_list; wback = (registers<n> == '0');
3375 wback = BitIsClear (registers, n);
3382 // n = UInt(Rn); registers = P:M:'0':register_list; wback = (W == '1');
3386 wback = BitIsSet (opcode, 21);
3398 // if wback && registers<n> == '1' then UNPREDICTABLE;
3399 if (wback
3407 wback = BitIsSet (opcode, 21);
3433 if (wback && (n == 13)) // Pop Instruction
3466 if (wback && BitIsClear (registers, n))
3476 if (wback && BitIsSet (registers, n))
3502 if wback && registers<n> == '0' then R[n] = R[n] - 4*BitCount(registers);
3503 if wback && registers<n> == '1' then R[n] = bits(32) UNKNOWN;
3512 bool wback;
3519 // n = UInt(Rn); registers = register_list; wback = (W == '1');
3522 wback = BitIsSet (opcode, 21);
3579 // if wback && registers<n> == '0' then R[n] = R[n] - 4*BitCount(registers);
3580 if (wback && BitIsClear (registers, n))
3593 // if wback && registers<n> == '1' then R[n] = bits(32) UNKNOWN;
3594 if (wback && BitIsSet (registers, n))
3618 if wback && registers<n> == '0' then R[n] = R[n] - 4*BitCount(registers);
3619 if wback && registers<n> == '1' then R[n] = bits(32) UNKNOWN; // Only possible for encoding A1
3628 bool wback;
3633 // n = UInt(Rn); registers = P:M:'0':register_list; wback = (W == '1');
3637 wback = BitIsSet (opcode, 21);
3649 // if wback && registers<n> == '1' then UNPREDICTABLE;
3650 if (wback && BitIsSet (registers, n))
3656 // n = UInt(Rn); registers = register_list; wback = (W == '1');
3659 wback = BitIsSet (opcode, 21);
3716 // if wback && registers<n> == '0' then R[n] = R[n] - 4*BitCount(registers);
3717 if (wback && BitIsClear (registers, n))
3730 // if wback && registers<n> == '1' then R[n] = bits(32) UNKNOWN; // Only possible for encoding A1
3731 if (wback && BitIsSet (registers, n))
3754 if wback && registers<n> == '0' then R[n] = R[n] + 4*BitCount(registers);
3755 if wback && registers<n> == '1' then R[n] = bits(32) UNKNOWN;
3764 bool wback;
3769 // n = UInt(Rn); registers = register_list; wback = (W == '1');
3772 wback = BitIsSet (opcode, 21);
3829 // if wback && registers<n> == '0' then R[n] = R[n] + 4*BitCount(registers);
3830 if (wback && BitIsClear (registers, n))
3843 // if wback && registers<n> == '1' then R[n] = bits(32) UNKNOWN; // Only possible for encoding A1
3844 if (wback && BitIsSet (registers, n))
3864 if wback then R[n] = offset_addr;
3883 bool add, index, wback;
3889 // index = TRUE; add = TRUE; wback = FALSE
3892 wback = false;
3902 // index = TRUE; add = TRUE; wback = FALSE;
3905 wback = false;
3916 // index = TRUE; add = TRUE; wback = FALSE;
3919 wback = false;
3940 // index = (P == '1'); add = (U == '1'); wback = (W == '1');
3943 wback = BitIsSet (opcode, 8);
3945 // if (wback && n == t) || (t == 15 && InITBlock() && !LastInITBlock()) then UNPREDICTABLE;
3946 if ((wback && (Rn == Rt)) || ((Rt == 15) && InITBlock() && !LastInITBlock()))
3966 if (wback)
4020 if i == n && wback && i != LowestSetBit(registers) then
4028 if wback then R[n] = R[n] + 4*BitCount(registers);
4037 bool wback;
4044 // n = UInt(Rn); registers = '00000000':register_list; wback = TRUE;
4048 wback = true;
4057 // n = UInt(Rn); registers = '0':M:'0':register_list; wback = (W == '1');
4061 wback = BitIsSet (opcode, 21);
4067 // if wback && registers<n> == '1' then UNPREDICTABLE;
4068 if (wback && BitIsSet (registers, n))
4074 // n = UInt(Rn); registers = register_list; wback = (W == '1');
4077 wback = BitIsSet (opcode, 21);
4109 // if i == n && wback && i != LowestSetBit(registers) then
4110 if ((i == n) && wback && (i != lowest_set_bit))
4147 // if wback then R[n] = R[n] + 4*BitCount(registers);
4148 if (wback)
4174 if i == n && wback && i != LowestSetBit(registers) then
4183 if wback then R[n] = R[n] - 4*BitCount(registers);
4192 bool wback;
4199 // n = UInt(Rn); registers = register_list; wback = (W == '1');
4202 wback = BitIsSet (opcode, 21);
4234 //if i == n && wback && i != LowestSetBit(registers) then
4235 if ((i == n) && wback && (i != lowest_bit_set))
4272 // if wback then R[n] = R[n] - 4*BitCount(registers);
4273 if (wback)
4299 if i == n && wback && i != LowestSetBit(registers) then
4308 if wback then R[n] = R[n] - 4*BitCount(registers);
4318 bool wback;
4330 // n = UInt(Rn); registers = '0':M:'0':register_list; wback = (W == '1');
4334 wback = BitIsSet (opcode, 21);
4338 // if wback && registers<n> == '1' then UNPREDICTABLE;
4339 if (wback && BitIsSet (registers, n))
4349 // n = UInt(Rn); registers = register_list; wback = (W == '1');
4352 wback = BitIsSet (opcode, 21);
4385 // if i == n && wback && i != LowestSetBit(registers) then
4386 if ((i == n) && wback && (i != lowest_set_bit))
4423 // if wback then R[n] = R[n] - 4*BitCount(registers);
4424 if (wback)
4450 if i == n && wback && i != LowestSetBit(registers) then
4459 if wback then R[n] = R[n] + 4*BitCount(registers);
4468 bool wback;
4475 // n = UInt(Rn); registers = register_list; wback = (W == '1');
4478 wback = BitIsSet (opcode, 21);
4510 // if i == n && wback && i != LowestSetBit(registers) then
4511 if ((i == n) && wback && (i != lowest_set_bit))
4549 // if wback then R[n] = R[n] + 4*BitCount(registers);
4550 if (wback)
4577 if wback then R[n] = offset_addr;
4591 bool wback;
4601 // index = TRUE; add = TRUE; wback = FALSE;
4604 wback = false;
4613 // index = TRUE; add = TRUE; wback = FALSE;
4616 wback = false;
4629 // index = TRUE; add = TRUE; wback = FALSE;
4632 wback = false;
4652 // index = (P == '1'); add = (U == '1'); wback = (W == '1');
4655 wback = BitIsSet (opcode, 8);
4657 // if t == 15 || (wback && n == t) then UNPREDICTABLE;
4658 if ((t == 15) || (wback && (n == t)))
4711 // if wback then R[n] = offset_addr;
4712 if (wback)
4742 if wback then R[n] = offset_addr;
4758 bool wback;
4770 // index = TRUE; add = TRUE; wback = FALSE;
4773 wback = false;
4790 // index = TRUE; add = TRUE; wback = FALSE;
4793 wback = false;
4812 // index = (P == '1'); add = (U == '1'); wback = (P == '0') || (W == '1');
4815 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21));
4826 // if wback && (n == 15 || n == t) then UNPREDICTABLE;
4827 if (wback && ((n == 15) || (n == t)))
4902 // if wback then R[n] = offset_addr;
4903 if (wback)
4924 if wback then R[n] = offset_addr;
4937 bool wback;
4947 // index = TRUE; add = TRUE; wback = FALSE;
4950 wback = false;
4963 // index = TRUE; add = TRUE; wback = FALSE;
4966 wback = false;
4984 // index = (P == '1'); add = (U == '1'); wback = (W == '1');
4987 wback = BitIsSet (opcode, 8);
4989 // if BadReg(t) || (wback && n == t) then UNPREDICTABLE
4990 if ((BadReg (t)) || (wback && (n == t)))
5036 // if wback then R[n] = offset_addr;
5037 if (wback)
5065 if wback then R[n] = offset_addr;
5077 bool wback;
5091 // index = TRUE; add = TRUE; wback = FALSE;
5094 wback = false;
5111 // index = TRUE; add = TRUE; wback = FALSE;
5114 wback = false;
5133 // index = (P == '1'); add = (U == '1'); wback = (P == '0') || (W == '1');
5136 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21));
5146 // if wback && (n == 15 || n == t) then UNPREDICTABLE;
5147 if (wback && ((n == 15) || (n == t)))
5216 // if wback then R[n] = offset_addr;
5217 if (wback)
5787 if wback then R[n] = offset_addr;
5807 bool wback;
5820 // index = (P == '1'); add = (U == '1'); wback = (P == '0') || (W == '1');
5823 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21));
5825 // if wback && n == t then UNPREDICTABLE;
5826 if (wback && (n == t))
5866 // if wback then R[n] = offset_addr;
5867 if (wback)
5927 if wback then R[n] = offset_addr;
5950 bool wback;
5963 // index = TRUE; add = TRUE; wback = FALSE;
5966 wback = false;
5981 // index = TRUE; add = TRUE; wback = FALSE;
5984 wback = false;
6008 // index = (P == '1'); add = (U == '1'); wback = (P == '0') || (W == '1');
6011 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21));
6022 // if wback && (n == 15 || n == t) then UNPREDICTABLE;
6023 if (wback && ((n == 15) || (n == t)))
6073 // if wback then R[n] = offset_addr;
6074 if (wback)
6138 if wback then R[n] = offset_addr;
6150 bool wback;
6161 // index = TRUE; add = TRUE; wback = FALSE;
6164 wback= false;
6176 // index = TRUE; add = TRUE; wback = FALSE;
6179 wback = false;
6200 // index = (P == '1'); add = (U == '1'); wback = (W == '1');
6203 wback = BitIsSet (opcode, 8);
6205 // if BadReg(t) || (wback && n == t) then UNPREDICTABLE;
6206 if (BadReg (t) || (wback && (n == t)))
6251 // if wback then R[n] = offset_addr;
6252 if (wback)
6355 if wback then R[n] = offset_addr;
6367 bool wback;
6380 // index = TRUE; add = TRUE; wback = FALSE;
6383 wback = false;
6398 // index = TRUE; add = TRUE; wback = FALSE;
6401 wback = false;
6420 // index = (P == '1'); add = (U == '1'); wback = (P == '0') || (W == '1');
6423 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21));
6434 // if wback && (n == 15 || n == t) then UNPREDICTABLE;
6435 if (wback && ((n == 15) || (n == t)))
6487 // if wback then R[n] = offset_addr;
6488 if (wback)
6511 if wback then R[n] = offset_addr;
6528 bool wback;
6539 // index = TRUE; add = TRUE; wback = FALSE;
6542 wback = false;
6554 // index = TRUE; add = TRUE; wback = FALSE;
6557 wback = false;
6577 // index = (P == '1'); add = (U == '1'); wback = (W == '1');
6580 wback = BitIsSet (opcode, 8);
6582 // if BadReg(t) || (wback && n == t) then UNPREDICTABLE;
6583 if (BadReg (t) || (wback && (n == t)))
6622 // if wback then R[n] = offset_addr;
6623 if (wback)
6769 if wback then R[n] = offset_addr;
6785 bool wback;
6799 // index = TRUE; add = TRUE; wback = FALSE;
6802 wback = false;
6818 // index = TRUE; add = TRUE; wback = FALSE;
6821 wback = false;
6839 // index = (P == '1'); add = (U == '1'); wback = (P == '0') || (W == '1');
6842 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21));
6852 // if wback && (n == 15 || n == t) then UNPREDICTABLE;
6853 if (wback && ((n == 15) || (n == t)))
6904 // if wback then R[n] = offset_addr;
6905 if (wback)
6943 if wback then R[n] = offset_addr;
6955 bool wback;
6968 // index = TRUE; add = TRUE; wback = FALSE;
6971 wback = false;
6992 // index = (P == '1'); add = (U == '1'); wback = (W == '1');
6995 wback = BitIsSet (opcode, 8);
6997 // if BadReg(t) || (wback && n == t) then UNPREDICTABLE;
7000 || (wback && (n == t)))
7017 // index = (P == '1'); add = (U == '1'); wback = (P == '0') || (W == '1');
7020 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21));
7022 // if t == 15 || (wback && n == t) then UNPREDICTABLE;
7023 if ((t == 15) || (wback && (n == t)))
7068 // if wback then R[n] = offset_addr;
7069 if (wback)
7183 if wback then R[n] = offset_addr;
7195 bool wback;
7208 // index = TRUE; add = TRUE; wback = FALSE;
7211 wback = false;
7227 // index = TRUE; add = TRUE; wback = FALSE;
7230 wback = false;
7248 // index = (P == '1'); add = (U == '1'); wback = (P == '0') || (W == '1');
7251 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21);
7261 // if wback && (n == 15 || n == t) then UNPREDICTABLE;
7262 if (wback && ((n == 15) || (n == t)))
7316 // if wback then R[n] = offset_addr;
7317 if (wback)
7340 if wback then R[n] = offset_addr;
7356 bool wback;
7369 // index = TRUE; add = TRUE; wback = FALSE;
7372 wback = false;
7393 // index = (P == '1'); add = (U == '1'); wback = (W == '1');
7396 wback = BitIsSet (opcode, 8);
7398 // if BadReg(t) || (wback && n == t) then UNPREDICTABLE;
7399 if (BadReg (t) || (wback && (n == t)))
7415 // index = (P == '1'); add = (U == '1'); wback = (P == '0') || (W == '1');
7418 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21);
7420 // if t == 15 || (wback && n == t) then UNPREDICTABLE;
7421 if ((t == 15) || (wback && (n == t)))
7461 // if wback then R[n] = offset_addr;
7462 if (wback)
7605 if wback then R[n] = offset_addr;
7621 bool wback;
7635 // index = TRUE; add = TRUE; wback = FALSE;
7638 wback = false;
7654 // index = TRUE; add = TRUE; wback = FALSE;
7657 wback = false;
7676 // index = (P == '1'); add = (U == '1'); wback = (P == '0') || (W == '1');
7679 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21);
7689 // if wback && (n == 15 || n == t) then UNPREDICTABLE;
7690 if (wback && ((n == 15) || (n == t)))
7742 // if wback then R[n] = offset_addr;
7743 if (wback)
8117 if wback then R[n] = if increment then R[n]+8 else R[n]-8;
8125 bool wback;
8133 // n = UInt(Rn); wback = (W == '1'); increment = FALSE; wordhigher = FALSE;
8135 wback = BitIsSet (opcode, 21);
8150 // n = UInt(Rn); wback = (W == '1'); increment = TRUE; wordhigher = FALSE;
8152 wback = BitIsSet (opcode, 21);
8170 // wback = (W == '1'); inc = (U == '1'); wordhigher = (P == U);
8171 wback = BitIsSet (opcode, 21);
8227 // if wback then R[n] = if increment then R[n]+8 else R[n]-8;
8228 if (wback)
8243 } // if wback
9867 if wback then R[n] = offset_addr;
9879 bool wback;
9890 // index = (P == ?1?); add = (U == ?1?); wback = (P == ?0?) || (W == ?1?);
9893 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21);
9899 // if wback && (n == 15 || n == t) then UNPREDICTABLE;
9900 if (wback && ((n == 15) || (n == t)))
9943 // if wback then R[n] = offset_addr;
9944 if (wback)
9963 if wback then R[n] = offset_addr;
9975 bool wback;
9989 // index = (P == ?1?); add = (U == ?1?); wback = (P == ?0?) || (W == ?1?);
9992 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21);
9994 // if wback && (n == 15 || n == t) then UNPREDICTABLE;
9995 if (wback && ((n == 15) || (n == t)))
10050 // if wback then R[n] = offset_addr;
10051 if (wback)
10076 if wback then R[n] = offset_addr;
10089 bool wback;
10102 //index = (P == ?1?); add = (U == ?1?); wback = (W == ?1?);
10105 wback = BitIsSet (opcode, 21);
10107 //if wback && (n == t || n == t2) then UNPREDICTABLE;
10108 if (wback && ((n == t) || (n == t2)))
10128 //index = (P == ?1?); add = (U == ?1?); wback = (P == ?0?) || (W == ?1?);
10131 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21);
10137 //if wback && (n == t || n == t2) then UNPREDICTABLE;
10138 if (wback && ((n == t) || (n == t2)))
10195 //if wback then R[n] = offset_addr;
10196 if (wback)
10221 if wback then R[n] = offset_addr;
10234 bool wback;
10248 // index = (P == ?1?); add = (U == ?1?); wback = (P == ?0?) || (W == ?1?);
10251 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21);
10261 // if wback && (n == 15 || n == t || n == t2) then UNPREDICTABLE;
10262 if (wback && ((n == 15) || (n == t) || (n == t2)))
10265 // if ArchVersion() < 6 && wback && m == n then UNPREDICTABLE;
10266 if ((ArchVersion() < 6) && wback && (m == n))
10322 // if wback then R[n] = offset_addr;
10323 if (wback)
10348 if wback then R[n] = offset_addr;
10361 bool wback;
10373 // index = (P == ?1?); add = (U == ?1?); wback = (W == ?1?);
10376 wback = BitIsSet (opcode, 21);
10378 // if wback && (n == t || n == t2) then UNPREDICTABLE;
10379 if (wback && ((n == t) || (n == t2)))
10399 // index = (P == ?1?); add = (U == ?1?); wback = (P == ?0?) || (W == ?1?);
10402 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21);
10408 // if wback && (n == 15 || n == t || n == t2) then UNPREDICTABLE;
10409 if (wback && ((n == 15) || (n == t) || (n == t2)))
10471 //if wback then R[n] = offset_addr;
10472 if (wback)
10496 if wback then R[n] = offset_addr;
10509 bool wback;
10524 // index = (P == ?1?); add = (U == ?1?); wback = (P == ?0?) || (W == ?1?);
10527 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21);
10537 // if wback && (n == 15 || n == t || n == t2) then UNPREDICTABLE;
10538 if (wback && ((n == 15) || (n == t) || (n == t2)))
10541 // if ArchVersion() < 6 && wback && m == n then UNPREDICTABLE;
10542 if ((ArchVersion() < 6) && wback && (m == n))
10605 // if wback then R[n] = offset_addr;
10606 if (wback)
10629 if wback then R[n] = if add then R[n]+imm32 else R[n]-imm32;
10645 bool wback;
10663 // single_regs = FALSE; add = (U == ?1?); wback = (W == ?1?);
10666 wback = BitIsSet (opcode, 21);
10676 // if n == 15 && (wback || CurrentInstrSet() != InstrSet_ARM) then UNPREDICTABLE;
10677 if (n == 15 && (wback || CurrentInstrSet() != eModeARM))
10696 // single_regs = TRUE; add = (U == ?1?); wback = (W == ?1?); d = UInt(Vd:D); n = UInt(Rn);
10699 wback = BitIsSet (opcode, 21);
10707 // if n == 15 && (wback || CurrentInstrSet() != InstrSet_ARM) then UNPREDICTABLE;
10708 if ((n == 15) && (wback || (CurrentInstrSet() != eModeARM)))
10734 // if wback then R[n] = if add then R[n]+imm32 else R[n]-imm32;
10737 if (wback)
10820 if wback then R[n] = if add then R[n]+imm32 else R[n]-imm32;
10837 bool wback;
10855 // single_regs = FALSE; add = (U == ?1?); wback = (W == ?1?);
10858 wback = BitIsSet (opcode, 21);
10868 // if n == 15 && (wback || CurrentInstrSet() != InstrSet_ARM) then UNPREDICTABLE;
10869 if ((n == 15) && (wback || (CurrentInstrSet() != eModeARM)))
10888 // single_regs = TRUE; add = (U == ?1?); wback = (W == ?1?); d = UInt(Vd:D); n = UInt(Rn);
10891 wback = BitIsSet (opcode, 21);
10899 // if n == 15 && (wback || CurrentInstrSet() != InstrSet_ARM) then UNPREDICTABLE;
10900 if ((n == 15) && (wback || (CurrentInstrSet () != eModeARM)))
10928 // if wback then R[n] = if add then R[n]+imm32 else R[n]-imm32;
10929 if (wback)
11280 if wback then R[n] = R[n] + (if register_index then R[m] else 8*regs);
11299 bool wback;
11362 // wback = (m != 15); register_index = (m != 15 && m != 13);
11363 wback = (m != 15);
11389 // if wback then R[n] = R[n] + (if register_index then R[m] else 8*regs);
11390 if (wback)
11446 if wback then R[n] = R[n] + (if register_index then R[m] else ebytes);
11461 bool wback;
11534 // wback = (m != 15); register_index = (m != 15 && m != 13); if n == 15 then UNPREDICTABLE;
11535 wback = (m != 15);
11561 // if wback then R[n] = R[n] + (if register_index then R[m] else ebytes);
11562 if (wback)
11622 if wback then R[n] = R[n] + (if register_index then R[m] else 8*regs);
11641 bool wback;
11697 // wback = (m != 15); register_index = (m != 15 && m != 13);
11698 wback = (m != 15);
11728 // if wback then R[n] = R[n] + (if register_index then R[m] else 8*regs);
11729 if (wback)
11785 if wback then R[n] = R[n] + (if register_index then R[m] else ebytes);
11800 bool wback;
11874 // wback = (m != 15); register_index = (m != 15 && m != 13); if n == 15 then UNPREDICTABLE;
11875 wback = (m != 15);
11900 // if wback then R[n] = R[n] + (if register_index then R[m] else ebytes);
11901 if (wback)
11947 if wback then R[n] = R[n] + (if register_index then R[m] else ebytes);
11964 bool wback;
11996 //wback = (m != 15); register_index = (m != 15 && m != 13);
11997 wback = (m != 15);
12026 // if wback then R[n] = R[n] + (if register_index then R[m] else ebytes);
12027 if (wback)