On 02/13/14 21:48, David Holsgrove wrote:
Hi Michael,

-----Original Message-----
From: Michael Eager [mailto:ea...@eagerm.com]
Sent: Sunday, 9 February 2014 2:58 am
To: David Holsgrove; gcc-patches@gcc.gnu.org
Cc: Edgar Iglesias; John Williams; Vidhumouli Hunsigida; Nagaraju Mekala
Subject: Re: [Patch, microblaze]: Add optimized lshrsi3

On 11/25/13 23:53, David Holsgrove wrote:
Add optimized lshrsi3 instruction, to be used when optimizing for size
with immediate values over 5

Changelog

2013-11-26  Nagaraju Mekala <nagaraju.mek...@xilinx.com>

   * gcc/config/microblaze/microblaze.md: Add size optimized lshrsi3 insn.

David --

Please put the description of the patch in the text of the email,
rather than hiding it within an attached patch.

The patch describes a very specific situation where this patch
will have an effect.  Please provide a test case.

Updated version of patch attached with testcase. New Changelog entries are;

Changelog

2013-11-26  David Holsgrove <david.holsgr...@xilinx.com>

  * gcc/config/microblaze/microblaze.md: Add size optimized lshrsi3 insn

ChangeLog/testsuite

2014-02-12  David Holsgrove <david.holsgr...@xilinx.com>

  * gcc/testsuite/gcc.target/microblaze/others/lshrsi_Os_1.c: New test.


Sorry about the delay in reviewing this patch.

I see number of failures in the new lshrsi_Os_1.c test case:

PASS: gcc.target/microblaze/others/lshrsi_Os_1.c  -O0  (test for excess errors)
PASS: gcc.target/microblaze/others/lshrsi_Os_1.c  -O0   scan-assembler-not srli
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -O0   scan-assembler 
ori\tr18,r0
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c -O0 scan-assembler addk\tr([0-9]|[1-2][0-9]|3[0-1]),r([0-9]|[1-2][0-9]|3[0-1]),r0
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -O0   scan-assembler 
addik\tr18,r18,-1
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -O0   scan-assembler 
bneid\tr18,.-4
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c -O0 scan-assembler srl\tr([0-9]|[1-2][0-9]|3[0-1]),r([0-9]|[1-2][0-9]|3[0-1])
PASS: gcc.target/microblaze/others/lshrsi_Os_1.c  -O1  (test for excess errors)
PASS: gcc.target/microblaze/others/lshrsi_Os_1.c  -O1   scan-assembler-not srli
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -O1   scan-assembler 
ori\tr18,r0
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c -O1 scan-assembler addk\tr([0-9]|[1-2][0-9]|3[0-1]),r([0-9]|[1-2][0-9]|3[0-1]),r0
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -O1   scan-assembler 
addik\tr18,r18,-1
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -O1   scan-assembler 
bneid\tr18,.-4
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c -O1 scan-assembler srl\tr([0-9]|[1-2][0-9]|3[0-1]),r([0-9]|[1-2][0-9]|3[0-1])
PASS: gcc.target/microblaze/others/lshrsi_Os_1.c  -O2  (test for excess errors)
PASS: gcc.target/microblaze/others/lshrsi_Os_1.c  -O2   scan-assembler-not srli
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -O2   scan-assembler 
ori\tr18,r0
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c -O2 scan-assembler addk\tr([0-9]|[1-2][0-9]|3[0-1]),r([0-9]|[1-2][0-9]|3[0-1]),r0
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -O2   scan-assembler 
addik\tr18,r18,-1
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -O2   scan-assembler 
bneid\tr18,.-4
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c -O2 scan-assembler srl\tr([0-9]|[1-2][0-9]|3[0-1]),r([0-9]|[1-2][0-9]|3[0-1])
PASS: gcc.target/microblaze/others/lshrsi_Os_1.c  -O3 -fomit-frame-pointer  
(test for excess errors)
PASS: gcc.target/microblaze/others/lshrsi_Os_1.c  -O3 -fomit-frame-pointer   
scan-assembler-not srli
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -O3 -fomit-frame-pointer   
scan-assembler ori\tr18,r0
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c -O3 -fomit-frame-pointer scan-assembler addk\tr([0-9]|[1-2][0-9]|3[0-1]),r([0-9]|[1-2][0-9]|3[0-1]),r0 FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c -O3 -fomit-frame-pointer scan-assembler addik\tr18,r18,-1 FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c -O3 -fomit-frame-pointer scan-assembler bneid\tr18,.-4 FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c -O3 -fomit-frame-pointer scan-assembler srl\tr([0-9]|[1-2][0-9]|3[0-1]),r([0-9]|[1-2][0-9]|3[0-1])
PASS: gcc.target/microblaze/others/lshrsi_Os_1.c  -O3 -g  (test for excess 
errors)
PASS: gcc.target/microblaze/others/lshrsi_Os_1.c  -O3 -g   scan-assembler-not 
srli
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -O3 -g   scan-assembler 
ori\tr18,r0
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c -O3 -g scan-assembler addk\tr([0-9]|[1-2][0-9]|3[0-1]),r([0-9]|[1-2][0-9]|3[0-1]),r0
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -O3 -g   scan-assembler 
addik\tr18,r18,-1
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -O3 -g   scan-assembler 
bneid\tr18,.-4
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c -O3 -g scan-assembler srl\tr([0-9]|[1-2][0-9]|3[0-1]),r([0-9]|[1-2][0-9]|3[0-1])
PASS: gcc.target/microblaze/others/lshrsi_Os_1.c  -Os  (test for excess errors)
PASS: gcc.target/microblaze/others/lshrsi_Os_1.c  -Os   scan-assembler-not srli
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -Os   scan-assembler 
ori\tr18,r0
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c -Os scan-assembler addk\tr([0-9]|[1-2][0-9]|3[0-1]),r([0-9]|[1-2][0-9]|3[0-1]),r0
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -Os   scan-assembler 
addik\tr18,r18,-1
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c  -Os   scan-assembler 
bneid\tr18,.-4
FAIL: gcc.target/microblaze/others/lshrsi_Os_1.c -Os scan-assembler srl\tr([0-9]|[1-2][0-9]|3[0-1]),r([0-9]|[1-2][0-9]|3[0-1])

--
Michael Eager    ea...@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077

Reply via email to