summaryrefslogtreecommitdiff
path: root/assemble.c
diff options
context:
space:
mode:
authorJin Kyu Song <jin.kyu.song@intel.com>2013-08-26 20:28:42 -0700
committerCyrill Gorcunov <gorcunov@gmail.com>2013-08-28 09:37:21 +0400
commit9bb987d8e0330429afba42015b1fc7c7ca0d1b16 (patch)
tree99bbfef132c7f80d33b22cb3c0e6f9c083366200 /assemble.c
parentd2d9c3ee3807791cb0240ea8b141643bc6d9b9a7 (diff)
downloadnasm-9bb987d8e0330429afba42015b1fc7c7ca0d1b16.tar.gz
nasm-9bb987d8e0330429afba42015b1fc7c7ca0d1b16.tar.bz2
nasm-9bb987d8e0330429afba42015b1fc7c7ca0d1b16.zip
AVX-512: Change the data type for instruction flags
Increased the size of data type for instruction flags from 32bits to 64bits. And a new type (iflags_t) is defined for better maintainability. Bigger data type is needed because more instruction set types are coming but there were not enough space for them. Since they are not bit masks, only one instruction set is allowed for each instruction. Signed-off-by: Jin Kyu Song <jin.kyu.song@intel.com> Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Diffstat (limited to 'assemble.c')
-rw-r--r--assemble.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/assemble.c b/assemble.c
index baae15f..c22075d 100644
--- a/assemble.c
+++ b/assemble.c
@@ -213,7 +213,7 @@ typedef struct {
#define GEN_MODRM(mod, reg, rm) \
(((mod) << 6) | (((reg) & 7) << 3) | ((rm) & 7))
-static uint32_t cpu; /* cpu level received from nasm.c */
+static iflags_t cpu; /* cpu level received from nasm.c */
static efunc errfunc;
static struct ofmt *outfmt;
static ListGen *list;
@@ -377,7 +377,7 @@ static bool jmp_match(int32_t segment, int64_t offset, int bits,
return (isize >= -128 && isize <= 127); /* is it byte size? */
}
-int64_t assemble(int32_t segment, int64_t offset, int bits, uint32_t cp,
+int64_t assemble(int32_t segment, int64_t offset, int bits, iflags_t cp,
insn * instruction, struct ofmt *output, efunc error,
ListGen * listgen)
{
@@ -680,7 +680,7 @@ int64_t assemble(int32_t segment, int64_t offset, int bits, uint32_t cp,
return 0;
}
-int64_t insn_size(int32_t segment, int64_t offset, int bits, uint32_t cp,
+int64_t insn_size(int32_t segment, int64_t offset, int bits, iflags_t cp,
insn * instruction, efunc error)
{
const struct itemplate *temp;