public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH ARM iWMMXt 0/5] Improve iWMMXt support
@ 2012-05-29  4:13 Matt Turner
  2012-05-29  4:14 ` [PATCH ARM iWMMXt 1/5] ARM code generic change Matt Turner
                   ` (7 more replies)
  0 siblings, 8 replies; 34+ messages in thread
From: Matt Turner @ 2012-05-29  4:13 UTC (permalink / raw)
  To: gcc-patches
  Cc: Ramana Radhakrishnan, Richard Earnshaw, Nick Clifton, Paul Brook,
	Xinyu Qi


This series was written by Marvell and sent by Xinyu Qi <xyqi@marvell.com>
a number of times in the last year.

We (One Laptop per Child) need these patches for reasonable iWMMXt support
and performance. Without them, logical and shift intrinsics cause ICEs,
see PR 35294 and its duplicates 36798 and 36966.

The software compositing library pixman uses MMX intrinsics to optimize
various compositing routines. The following are the minimum execution times
of cairo-perf-trace graphics work loads without and with iWMMXt-optimized
pixman for the image and image16 backends (32-bpp and 16-bpp respectively).

                             image               image16
           evolution   33.492 ->  29.590    30.334 ->  24.751
firefox-planet-gnome  191.465 -> 173.835   211.297 -> 187.570
gnome-system-monitor   51.956 ->  44.549    52.272 ->  40.525
  gnome-terminal-vim   53.625 ->  54.554    47.593 ->  47.341
      grads-heat-map    4.439 ->   4.165     4.548 ->   4.624
       midori-zoomed   38.033 ->  28.500    38.576 ->  26.937
             poppler   41.096 ->  31.949    41.230 ->  31.749
  swfdec-giant-steps   20.062 ->  16.912    28.294 ->  17.286
      swfdec-youtube   42.281 ->  37.335    52.848 ->  47.053
   xfce4-terminal-a1   64.311 ->  51.011    62.592 ->  51.191

We have cleaned up some white-space issues with the patches and fixed a
small bug in patch 4/5 since the last time they were posted in December
(added tandc,textrc,torc,torvsc to the "wtype" attribute)

Please commit them for 4.8.

For 4.7 and 4.6 please consider committing my patch
"[PATCH] arm: Fix iwmmxt shift and logical intrinsics (PR 35294)."
which only fixes the logical and shift intrinsics.

Thanks,

Matt Turner

^ permalink raw reply	[flat|nested] 34+ messages in thread
* Re: [PATCH, ARM, iWMMXT] PR target/54338 - Include IWMMXT_GR_REGS in ALL_REGS
@ 2013-04-08  8:43 Xinyu Qi
  2013-04-08 13:25 ` Ramana Radhakrishnan
  2013-04-30 13:59 ` Matthew Gretton-Dann
  0 siblings, 2 replies; 34+ messages in thread
From: Xinyu Qi @ 2013-04-08  8:43 UTC (permalink / raw)
  To: ramrad01; +Cc: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 1215 bytes --]

At 2013-04-02 17:50:03,"Ramana Radhakrishnan" <ramrad01@arm.com> wrote:
>On 04/02/13 10:40, Xinyu Qi wrote:
>> Hi,
>>    According to Vladimir Makarov's analysis, the root cause of PR target/54338 is that ALL_REGS doesn't contain IWMMXT_GR_REGS in REG_CLASS_CONTENTS.
>>    It seems there is no reason to exclude the IWMMXT_GR_REGS from ALL_REGS as IWMMXT_GR_REGS are the real registers.
>>    This patch simply makes ALL_REGS include IWMMXT_GR_REGS to fix this PR.
>>    Since the test case gcc.target/arm/mmx-2.c would fail for the same reason and become pass with this fix, no extra test case need to be add.
>>    Pass arm.exp test. Patch attached.
>
>Testing just with arm.exp is not enough.
>
>Ok if no regressions running the entire regression testsuite for C and 
>C++ for arm*-*-*eabi with an iwmmxt configuration.

Hi Ramana,

  I run the full dejagnu test with -march=iwmmxt2 specified in the whole progress for this patch.
  No regression but a lot of new pass found in the test.
  Please help to commit it.

ChangeLog

2013-04-02  Xinyu Qi  <xyqi@marvell.com>

	PR target/54338
	* config/arm/arm.h (REG_CLASS_CONTENTS): Include IWMMXT_GR_REGS in ALL_REGS.

Thanks,
Xinyu


[-- Attachment #2: IWMMXT_GR_REGS.diff --]
[-- Type: application/octet-stream, Size: 1359 bytes --]

Index: config/arm/arm.h
===================================================================
*** config/arm/arm.h	(revision 197340)
--- config/arm/arm.h	(working copy)
***************
*** 1203,1213 ****
    { 0x00000000, 0x00000000, 0x00000000, 0x0000000F }, /* IWMMXT_GR_REGS */ \
    { 0x00000000, 0x00000000, 0x00000000, 0x00000010 }, /* CC_REG */	\
    { 0x00000000, 0x00000000, 0x00000000, 0x00000020 }, /* VFPCC_REG */	\
    { 0x00000000, 0x00000000, 0x00000000, 0x00000040 }, /* SFP_REG */	\
    { 0x00000000, 0x00000000, 0x00000000, 0x00000080 }, /* AFP_REG */	\
!   { 0xFFFF7FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000 }  /* ALL_REGS */	\
  }
  
  /* Any of the VFP register classes.  */
  #define IS_VFP_CLASS(X) \
    ((X) == VFP_D0_D7_REGS || (X) == VFP_LO_REGS \
--- 1203,1213 ----
    { 0x00000000, 0x00000000, 0x00000000, 0x0000000F }, /* IWMMXT_GR_REGS */ \
    { 0x00000000, 0x00000000, 0x00000000, 0x00000010 }, /* CC_REG */	\
    { 0x00000000, 0x00000000, 0x00000000, 0x00000020 }, /* VFPCC_REG */	\
    { 0x00000000, 0x00000000, 0x00000000, 0x00000040 }, /* SFP_REG */	\
    { 0x00000000, 0x00000000, 0x00000000, 0x00000080 }, /* AFP_REG */	\
!   { 0xFFFF7FFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0000000F }  /* ALL_REGS */	\
  }
  
  /* Any of the VFP register classes.  */
  #define IS_VFP_CLASS(X) \
    ((X) == VFP_D0_D7_REGS || (X) == VFP_LO_REGS \

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2013-05-14 22:40 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-29  4:13 [PATCH ARM iWMMXt 0/5] Improve iWMMXt support Matt Turner
2012-05-29  4:14 ` [PATCH ARM iWMMXt 1/5] ARM code generic change Matt Turner
2012-06-06 11:53   ` Ramana Radhakrishnan
2012-12-27  2:31     ` [PATCH, ARM, iWMMXT] Fix define_constants for WCGR Xinyu Qi
2013-01-22  9:22     ` [PING][PATCH, " Xinyu Qi
2013-01-22 11:59       ` Ramana Radhakrishnan
2013-01-22 13:34         ` Andreas Schwab
2013-01-23  6:08         ` Xinyu Qi
2013-01-31  8:49         ` [PATCH, " Xinyu Qi
2013-03-20  2:43         ` Xinyu Qi
2013-03-26 14:01           ` Ramana Radhakrishnan
2013-04-02  9:55             ` [PATCH, ARM, iWMMXT] PR target/54338 - Include IWMMXT_GR_REGS in ALL_REGS Xinyu Qi
2013-04-02 10:03               ` Ramana Radhakrishnan
2012-05-29  4:14 ` [PATCH ARM iWMMXt 5/5] pipeline description Matt Turner
2012-05-29  4:14 ` [PATCH ARM iWMMXt 3/5] built in define and expand Matt Turner
2012-06-06 11:55   ` Ramana Radhakrishnan
2012-05-29  4:15 ` [PATCH ARM iWMMXt 2/5] intrinsic head file change Matt Turner
2012-06-06 12:22   ` Ramana Radhakrishnan
2012-05-29  4:15 ` [PATCH ARM iWMMXt 4/5] WMMX machine description Matt Turner
2012-06-06 11:59 ` [PATCH ARM iWMMXt 0/5] Improve iWMMXt support Ramana Radhakrishnan
2012-06-11  9:24 ` nick clifton
2012-06-13  7:36 ` nick clifton
2012-06-13 15:31   ` Matt Turner
2012-06-26 15:20     ` nick clifton
2012-06-27 19:15       ` Matt Turner
2013-01-28  3:49       ` Matt Turner
2013-01-28 15:11         ` nick clifton
2013-02-21  2:35           ` closing PR's (was Re: [PATCH ARM iWMMXt 0/5] Improve iWMMXt support) Hans-Peter Nilsson
2013-02-22 12:42             ` nick clifton
2013-04-08  8:43 [PATCH, ARM, iWMMXT] PR target/54338 - Include IWMMXT_GR_REGS in ALL_REGS Xinyu Qi
2013-04-08 13:25 ` Ramana Radhakrishnan
2013-04-30 13:59 ` Matthew Gretton-Dann
2013-05-02  1:21   ` Xinyu Qi
2013-05-14 22:40   ` Ramana Radhakrishnan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).