• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /openjdk10/hotspot/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.asm.aarch64/src/org/graalvm/compiler/asm/aarch64/

Lines Matching defs:immediate

36  * modes of the AArch64 ISA. - Base register only - Base register + immediate or register with
37 * shifted offset - Pre-indexed: base + immediate offset are written back to base register, value
38 * used in instruction is base + offset - Post-indexed: base + offset (immediate or register) are
86 private final int immediate;
100 public static AArch64Address createAddress(AddressingMode addressingMode, Register base, Register offset, int immediate, boolean isScaled, AArch64Assembler.ExtendType extendType) {
101 return new AArch64Address(base, offset, immediate, isScaled, extendType, addressingMode);
106 * @param imm9 Signed 9-bit immediate value.
107 * @return an address specifying a post-indexed immediate address pointing to base. After
116 * @param imm9 Signed 9-bit immediate value.
117 * @return an address specifying a pre-indexed immediate address pointing to base + imm9. After
126 * @param imm12 Unsigned 12-bit immediate value. This is scaled by the word access size. This
127 * means if this address is used to load/store a word, the immediate is shifted by 2
138 * @param imm9 Signed 9-bit immediate value.
139 * @return an address specifying an unscaled immediate address of the form base + imm9
167 * @param imm7 Signed 7-bit immediate value.
168 * @return an address specifying an unscaled immediate address of the form base + imm7
195 private AArch64Address(Register base, Register offset, int immediate, boolean scaled, AArch64Assembler.ExtendType extendType, AddressingMode addressingMode) {
203 this.immediate = immediate;
219 assert NumUtil.isUnsignedNbit(12, immediate);
225 assert NumUtil.isSignedNbit(9, immediate);
231 assert immediate == 0;
237 assert immediate == 0;
243 assert immediate == 0;
249 assert NumUtil.isSignedNbit(21, immediate);
250 assert ((immediate & 0x3) == 0);
257 assert NumUtil.isSignedNbit(9, immediate);
275 * @return immediate in correct representation for the given addressing mode. For example in
285 assert NumUtil.isSignedNbit(9, immediate);
286 return immediate & NumUtil.getNbitNumberInt(9);
289 assert NumUtil.isUnsignedNbit(12, immediate);
290 return immediate;
293 assert NumUtil.isSignedNbit(19, immediate >> 2);
294 return (immediate >> 2) & NumUtil.getNbitNumberInt(19);
296 throw GraalError.shouldNotReachHere("Should only be called for addressing modes that use immediate values.");
301 * @return Raw immediate as a 32-bit signed value.
310 return immediate;
312 throw GraalError.shouldNotReachHere("Should only be called for addressing modes that use immediate values.");
332 return String.format("[X%d, %d]", base.encoding, immediate << log2TransferSize);
334 return String.format("[X%d, %d]", base.encoding, immediate);
352 return String.format(".%s%d", immediate >= 0 ? "+" : "", immediate);
354 return String.format("[X%d],%d", base.encoding, immediate);
356 return String.format("[X%d,%d]!", base.encoding, immediate);
371 if (immediate == 0 && base.equals(r)) { // it's a nop
374 masm.add(64, r, base, immediate);