X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gas%2Fconfig%2Ftc-i386.c;h=8263b15d6de8db3ecb623f5bd9ae7495c5858377;hb=a38d71189b5895bae7bb476aa34d8a7ba75376d6;hp=08dd9963e1c089dea70d358bdad9b17137d81a0a;hpb=3076e59490428c9719765f9b007d6d0d0238f006;p=external%2Fbinutils.git diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 08dd996..8263b15 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -1082,6 +1082,10 @@ static const arch_entry cpu_arch[] = CPU_MOVDIR64B_FLAGS, 0 }, { STRING_COMMA_LEN (".avx512_bf16"), PROCESSOR_UNKNOWN, CPU_AVX512_BF16_FLAGS, 0 }, + { STRING_COMMA_LEN (".avx512_vp2intersect"), PROCESSOR_UNKNOWN, + CPU_AVX512_VP2INTERSECT_FLAGS, 0 }, + { STRING_COMMA_LEN (".enqcmd"), PROCESSOR_UNKNOWN, + CPU_ENQCMD_FLAGS, 0 }, }; static const noarch_entry cpu_noarch[] = @@ -1122,6 +1126,8 @@ static const noarch_entry cpu_noarch[] = { STRING_COMMA_LEN ("nomovdiri"), CPU_ANY_MOVDIRI_FLAGS }, { STRING_COMMA_LEN ("nomovdir64b"), CPU_ANY_MOVDIR64B_FLAGS }, { STRING_COMMA_LEN ("noavx512_bf16"), CPU_ANY_AVX512_BF16_FLAGS }, + { STRING_COMMA_LEN ("noavx512_vp2intersect"), CPU_ANY_SHSTK_FLAGS }, + { STRING_COMMA_LEN ("noenqcmd"), CPU_ANY_ENQCMD_FLAGS }, }; #ifdef I386COFF @@ -3942,7 +3948,10 @@ optimize_encoding (void) && i.tm.extension_opcode == 0x4) || ((i.tm.base_opcode == 0xf6 || i.tm.base_opcode == 0xc6) - && i.tm.extension_opcode == 0x0))))) + && i.tm.extension_opcode == 0x0))) + || (fits_in_imm7 (i.op[0].imms->X_add_number) + && i.tm.base_opcode == 0x83 + && i.tm.extension_opcode == 0x4))) || (i.types[0].bitfield.qword && ((i.reg_operands == 2 && i.op[0].regs == i.op[1].regs @@ -3956,6 +3965,7 @@ optimize_encoding (void) { /* Optimize: -O: andq $imm31, %r64 -> andl $imm31, %r32 + andq $imm7, %r64 -> andl $imm7, %r32 testq $imm31, %r64 -> testl $imm31, %r32 xorq %r64, %r64 -> xorl %r32, %r32 subq %r64, %r64 -> subl %r32, %r32 @@ -6376,9 +6386,7 @@ process_suffix (void) else if (i.suffix != QWORD_MNEM_SUFFIX && !i.tm.opcode_modifier.ignoresize && !i.tm.opcode_modifier.floatmf - && !i.tm.opcode_modifier.vex - && !i.tm.opcode_modifier.vexopcode - && !is_evex_encoding (&i.tm) + && !is_any_vex_encoding (&i.tm) && ((i.suffix == LONG_MNEM_SUFFIX) == (flag_code == CODE_16BIT) || (flag_code == CODE_64BIT && i.tm.opcode_modifier.jumpbyte)))