diff mbox

[1/9] rs6000: Clean up the "type" attribute

Message ID 772148b5d4435e60c32b73f3c92d28b61525b6d5.1400795768.git.segher@kernel.crashing.org
State New
Headers show

Commit Message

Segher Boessenkool May 23, 2014, 6:09 a.m. UTC
Get rid of the one huge line.  Group and order things a bit.  Further
changes will follow so this doesn't try to make it perfect.

The rest of this patch series reduces the number of different integer
instruction types by folding many together using attributes "size"
(the data size), "dot" (does this instruction set CR0), and "var_shift"
(for shift instructions: is the shift amount from a register).

Many scheduling descriptions are incomplete; many instruction patterns
use the wrong instruction type.  Hopefully things will be better if
there aren't that many different types to handle.

Each patch bootstrapped on powerpc64-linux, tested with
-m64,-m64/-mtune=power8,-m32,-m32/-mpowerpc64; no regressions (and
nothing magically fixed either).

Okay to apply?


Segher


2014-05-22  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/
	* config/rs6000/rs6000.md (type): Reorder, reformat.

---
 gcc/config/rs6000/rs6000.md | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

Comments

David Edelsohn May 23, 2014, 1:36 p.m. UTC | #1
On Fri, May 23, 2014 at 2:09 AM, Segher Boessenkool
<segher@kernel.crashing.org> wrote:
> Get rid of the one huge line.  Group and order things a bit.  Further
> changes will follow so this doesn't try to make it perfect.
>
> The rest of this patch series reduces the number of different integer
> instruction types by folding many together using attributes "size"
> (the data size), "dot" (does this instruction set CR0), and "var_shift"
> (for shift instructions: is the shift amount from a register).
>
> Many scheduling descriptions are incomplete; many instruction patterns
> use the wrong instruction type.  Hopefully things will be better if
> there aren't that many different types to handle.
>
> Each patch bootstrapped on powerpc64-linux, tested with
> -m64,-m64/-mtune=power8,-m32,-m32/-mpowerpc64; no regressions (and
> nothing magically fixed either).
>
> Okay to apply?
>
>
> Segher
>
>
> 2014-05-22  Segher Boessenkool  <segher@kernel.crashing.org>
>
> gcc/
>         * config/rs6000/rs6000.md (type): Reorder, reformat.

Okay.

thanks, David
diff mbox

Patch

diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
index 300bd36..667aac1 100644
--- a/gcc/config/rs6000/rs6000.md
+++ b/gcc/config/rs6000/rs6000.md
@@ -157,7 +157,22 @@  (define_c_enum "unspecv"
 
 ;; Define an insn type attribute.  This is used in function unit delay
 ;; computations.
-(define_attr "type" "integer,two,three,load,store,fpload,fpstore,vecload,vecstore,imul,imul2,imul3,lmul,idiv,ldiv,insert_word,branch,cmp,fast_compare,compare,var_delayed_compare,delayed_compare,imul_compare,lmul_compare,fpcompare,cr_logical,delayed_cr,mfcr,mfcrf,mtcr,mfjmpr,mtjmpr,fp,fpsimple,dmul,sdiv,ddiv,ssqrt,dsqrt,jmpreg,brinc,vecsimple,veccomplex,vecdiv,veccmp,veccmpsimple,vecperm,vecfloat,vecfdiv,vecdouble,isync,sync,load_l,store_c,shift,trap,insert_dword,var_shift_rotate,cntlz,exts,mffgpr,mftgpr,isel,popcnt,crypto,htm"
+(define_attr "type"
+  "integer,two,three,
+   shift,var_shift_rotate,insert_word,insert_dword,
+   imul,imul2,imul3,lmul,idiv,ldiv,
+   exts,cntlz,popcnt,isel,
+   load,store,fpload,fpstore,vecload,vecstore,
+   cmp,
+   branch,jmpreg,mfjmpr,mtjmpr,trap,isync,sync,load_l,store_c,
+   compare,fast_compare,delayed_compare,var_delayed_compare,
+   imul_compare,lmul_compare,
+   cr_logical,delayed_cr,mfcr,mfcrf,mtcr,
+   fpcompare,fp,fpsimple,dmul,sdiv,ddiv,ssqrt,dsqrt,
+   brinc,
+   vecsimple,veccomplex,vecdiv,veccmp,veccmpsimple,vecperm,
+   vecfloat,vecfdiv,vecdouble,mffgpr,mftgpr,crypto,
+   htm"
   (const_string "integer"))
 
 ;; Does this instruction sign-extend its result?