On Tue, Aug 23, 2011 at 1:07 PM, Kirill Yukhin <[email protected]> wrote:
> Hi,
> I've slightly updated mulx split to avoid ICE.
> Updated patch, ChangeLog entry (with Uros's contribution) and
> ChangeLog.testsuite entry are attached.
>
> Bootstrapped and make-checked.
>
> Tests all pass under simulator (expept one, but it is simulator issue).
>
> Uros, you asked if BMI2 is inherited from BMI. The answer is no, these
> 2 extensions are not connected.
>
> Is is OK?
+{
+ operands[3] = gen_lowpart (<MODE>mode, operands[0]);
+ operands[4] = gen_highpart (<MODE>mode, operands[0]);
+ operands[5] = GEN_INT (GET_MODE_BITSIZE (<MODE>mode));
+})
Please change this part to:
{
split_double_mode (<DWI>mode, &operands[0], 1, &operands[3], &operands[4]);
operands[5] = GEN_INT (GET_MODE_BITSIZE (<MODE>mode));
})
Please also add -mbmi2 to gcc.target/i386/sse-{12,13,14,22,23}.c files.
Please also change some entries in the ChangeLog to:
* config/i386/i386-c.c (ix86_target_macros_internal):
Conditionally define __BMI2__.
* config/i386/i386.c (ix86_option_override_internal): Define PTA_BMI2.
Handle BMI2 option.
(ix86_valid_target_attribute_inner_p): Handle BMI2 option.
OK with these changes.
Thanks,
Uros.