This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

-frename-registers bug?


When compiled with -frename-registers, this test case produces invalid
code.  Specifically, the cpadd4.h opcode clobbers $c1 but the cpsub2.h
assumes it still has the value "a" in it.  Compiling with
-fno-rename-registers results in valid code.

I've attached the full testcase and before/after dumps.

./cc1 -quiet -mivc2 dj.c -O2 -o dj.s -frename-registers -fverbose-asm

cp_vector __attribute((vliw))
func1( cp_vector a, cp_vector b )
{
	cp_vector c;

	c = mep_cpabsu3_b(a,b);
	mep_c0nop();
	c = mep_cpadd3_b(a,c);
	c = mep_cpsub3_b(a,c);
	c = mep_cpabs3_b(c,b);
	mep_c1nop();
	c = mep_cpadd3_h(a,c);	<- 1
	c = mep_cpabs3_h(c,b);
	c = mep_cpsub3_h(c,a);	< -2
	c = mep_cpadd3_w(c,c);

	return c;
}


func1:
	cpabsu3.b	$c8,$c1,$c2	;# tmp149, a, b
	c0nop
	cpadd3.b	$c5,$c1,$c8	;# tmp150, a, tmp149
	cpsub3.b	$c4,$c1,$c5	;# tmp151, a, tmp150
	cpabs3.b	$c3,$c4,$c2	;# tmp152, tmp151, b
	c1nop
	cpadd3.h	$c1,$c1,$c3	;# tmp153, a, tmp152	<- 1 (clobbers $c1)
	cpabs3.h	$c2,$c1,$c2	;# tmp154, tmp153, b
	cpsub3.h	$c0,$c2,$c1	;# tmp155, tmp154, a	<- 2 (expects old $c1 value)
	cpadd3.w	$c0,$c0,$c0	;#, tmp155, tmp155
	ret

begin 644 dj.dap.tar.gz
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
47_MK?^VO_?4UKO\"'+!2NP!0````
`
end


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]