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 Thu, Jul 26, 2018 at 2:21 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> 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.


We are extending broadcast beyond dword and qword.


-- 
H.J.


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