summaryrefslogtreecommitdiff
path: root/sys/src/cmd/7l/l.h
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2019-04-08 14:12:01 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2019-04-08 14:12:01 +0200
commit12fc1c7d3e04649fb7d213d16f9da597726dd7b6 (patch)
treeeb12c7dad308f4e98fc9519bb0d51461812d651a /sys/src/cmd/7l/l.h
parentd8d4802f80b40bc9a43031e3d6484aa237e7d444 (diff)
7l: fix bitcon instruction selection and encoding
the possible bitmasks generated depend on the data width of the instruction, so we introduce C_BITCON32 and C_BITCON64 operand types to keep them apart. the encoding of the bitcon operation was wrong.
Diffstat (limited to 'sys/src/cmd/7l/l.h')
-rw-r--r--sys/src/cmd/7l/l.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/src/cmd/7l/l.h b/sys/src/cmd/7l/l.h
index ac0dae6dc..73852d65e 100644
--- a/sys/src/cmd/7l/l.h
+++ b/sys/src/cmd/7l/l.h
@@ -158,7 +158,9 @@ enum
C_ADDCON0, /* 12-bit unsigned, unshifted */
C_ADDCON, /* 12-bit unsigned, shifted left by 0 or 12 */
C_MOVCON, /* generated by a 16-bit constant, optionally inverted and/or shifted by multiple of 16 */
- C_BITCON, /* bimm32 */
+ C_BITCON, /* bimm32/bimm64 */
+ C_BITCON32, /* bimm32 */
+ C_BITCON64, /* bimm64 */
C_ABCON, /* could be C_ADDCON or C_BITCON */
C_MBCON, /* could be C_MOVCON or C_BITCON */
C_LCON, /* 32-bit constant */