diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2019-04-08 14:12:01 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2019-04-08 14:12:01 +0200 |
commit | 12fc1c7d3e04649fb7d213d16f9da597726dd7b6 (patch) | |
tree | eb12c7dad308f4e98fc9519bb0d51461812d651a /sys/src/cmd/7l/l.h | |
parent | d8d4802f80b40bc9a43031e3d6484aa237e7d444 (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.h | 4 |
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 */ |