Home | History | Annotate | Download | only in opcodes

Lines Matching full:shimm

67 /* Nonzero if we've inserted a shimm.  */
70 /* The value of the shimm we inserted (each insn only gets one but it can
72 static int shimm;
128 'S' SHIMMFINISH finish inserting a shimm value
147 'Z' SIZE10 size field in ld a,[b,shimm]
148 'y' SIZE22 size field in st c,[b,shimm]
150 'X' SIGN9 sign extend field ld a,[b,shimm]
152 'W' ADDRESS12 write-back field in ld a,[b,shimm]
153 'v' ADDRESS24 write-back field in st c,[b,shimm]
155 'E' CACHEBYPASS14 cache bypass in ld a,[b,shimm]
156 'D' CACHEBYPASS26 cache bypass in st c,[b,shimm]
175 /* Register A or shimm/limm indicator. */
179 /* Register B or shimm/limm indicator. */
183 /* Register C or shimm/limm indicator. */
187 /* Fake operand used to insert shimm value into most instructions. */
195 /* Shimm operand when there is no reg indicator (st). */
199 /* Shimm operand when there is no reg indicator (ld). */
318 /* Known auxiliary register modifier (stored in shimm field). */
347 value for later handling by either %S (shimm) or %L (limm). */
349 /* Try to use a shimm value before a limm one. */
353 /* If we already have a shimm value that is different than ours
355 && (!shimm_p || shimm == value))
360 /* Forget about shimm as dest mlm. */
365 shimm = value;
371 /* Don't request flag setting on shimm as dest. */
530 shimm values (which the jump insn doesn't accept). This can also be used
576 if (shimm_p && value != shimm)
578 /* Convert the previous shimm operand to a limm. */
580 limm = shimm;
587 shimm = value;
663 else if (shimm_p && value != shimm)
677 /* Convert what we thought was a shimm to a limm. */
679 limm = shimm;
695 shimm = value;
741 /* Check for st shimm,[limm]. */
762 if (ST_SYNTAX (OP_SHIMM,OP_REG,OP_NONE) && shimm != 0)
767 limm = shimm;
769 shimm = 0;
779 if (shimm & 0x1) /* Odd shimms won't work. */
785 limm = shimm;
786 shimm = 0;
794 shimm >>= 1;
796 insn |= shimm;
807 || (ST_SYNTAX (OP_SHIMM,OP_SHIMM,OP_NONE) && (shimm == 0))
822 if (ST_SYNTAX(OP_SHIMM,OP_REG,OP_NONE) && shimm)
848 *errmsg = _("invalid load/shimm insn");
889 || (LD_SYNTAX (OP_REG, OP_SHIMM, OP_NONE) && (shimm == 0))
896 /* Called at the end of processing normal insns (eg: add) to insert a shimm
908 insn |= (shimm & ((1 << operand->bits) - 1)) << operand->shift;
1096 /* Always return zero if dest is a shimm mlm. */
1115 /* Always return zero if dest is a shimm mlm. */
1188 /* Return the value of the "flag update" field for shimm insns.
1217 If we've seen a shimm value in this insn (meaning that the insn can't have
1389 /* %Q: force cond_p=1 -> no shimm values. This insn allows an
1396 /* Put opcode 1 ld insns first so shimm gets prefered over limm.
1479 0xffffffff-0xffffff00 (-1..-256) - customer shimm allocation
1482 0x000000ff-0x00000000 - ARC shimm allocation */
1484 /* Base case auxiliary registers (shimm address). */