This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] x86: Expand Broadcast to 3 bits


>>> On 26.07.18 at 11:15, <JBeulich@suse.com> wrote:
>>>> On 26.07.18 at 00:05, <hongjiu.lu@intel.com> wrote:
>> --- a/opcodes/i386-opc.h
>> +++ b/opcodes/i386-opc.h
>> @@ -561,6 +561,17 @@ enum
>>  #define BOTH_MASKING    3
>>    Masking,
>>  
>> +  /* AVX512 broadcast support.  The number of bytes to broadcast is
>> +     1 << (Broadcast - 1):
>> +	1: Byte broadcast.
>> +	2: Word broadcast.
>> +	3: Dword broadcast.
>> +	4: Qword broadcast.
>> +   */
>> +#define BYTE_BROADCAST	1
>> +#define WORD_BROADCAST	2
>> +#define DWORD_BROADCAST	3
>> +#define QWORD_BROADCAST	4
> 
> I don't understand this: Embedded broadcast so far does not allow
> byte or word size - why provide for it?
> 
>> @@ -650,7 +661,7 @@ typedef struct i386_opcode_modifier
>>    unsigned int noavx:1;
>>    unsigned int evex:3;
>>    unsigned int masking:2;
>> -  unsigned int broadcast:1;
>> +  unsigned int broadcast:3;
> 
> IOW I'm not convinced this is a useful use of the extra storage required.
> It was for a for a purpose that I've shrunk the field to a single bit
> recently. I also can't convince myself that overall the change as a whole
> is a simplification of the assembler.

To expand on this: My recent and ongoing work is, among other things
like fixing bugs, to eliminate redundancy from the templates. Here you
re-add redundancy; granted at least you don't do this at the source level.

Jan



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]