On Fri, Aug 19, 2011 at 2:23 AM, Kirill Yukhin <[email protected]> wrote:
> Hi guys,
> I've prepared a patch which enables BMI2 extensions in GCC
>
> It conforms (hopefully) to Spec which can be found at [1]
>
> I am attaching following files:
> - bmi2.gcc.patch. Bunch of changes to GCC
> - ChangeLog. Entry for ChangeLog in GCC's root directory
> - ChangeLog.testsuite. Entry for ChangeLog in GCC's test suite
>
> Bootstrap is passed
> Make-check shows no new fails, my compile-time new tests are passed
> Make-check under simulator causes all my new tests to pass
>
> Is it OK for trunk?
>
> [1] - http://software.intel.com/file/36945
>
> Thanks, K
>
Incorrect format:
+ && CONST_INT_P (src2) ) {
+ /* We generatin RORX instruction, freedom of register +
+ flags not affected */
+ insn = op;
+ } else {
+ clob = gen_rtx_CLOBBER (VOIDmode, gen_rtx_REG (CCmode, FLAGS_REG));
+ insn = gen_rtx_PARALLEL (VOIDmode, gen_rtvec (2, op, clob));
+ }
+{
+ if (can_create_pseudo_p () && <MODE>mode != SImode) {
+ rtx tmp = gen_rtx_REG (<MODE>mode, 0);
+ emit_insn (gen_extendsidi2 (tmp, operands[2]));
+ operands[2] = tmp;
+ }
--
H.J.