avr.c: Fix GNU coding rules and typos.

* config/avr/avr.c: Fix GNU coding rules and typos.
	* config/avr/avr.h: Dito.
	* config/avr/avr-c.c: Dito.
	* config/avr/avr.md: Dito.

From-SVN: r216592
This commit is contained in:
Georg-Johann Lay 2014-10-23 12:22:16 +00:00 committed by Georg-Johann Lay
parent e650a5685c
commit 0c9ef7adf7
5 changed files with 447 additions and 404 deletions

View File

@ -1,3 +1,10 @@
2014-10-23 Georg-Johann Lay <avr@gjlay.de>
* config/avr/avr.c: Fix GNU coding rules and typos.
* config/avr/avr.h: Dito.
* config/avr/avr-c.c: Dito.
* config/avr/avr.md: Dito.
2014-10-23 Kirill Yukhin <kirill.yukhin@intel.com>
* config/i386/sse.md (define_mode_iterator VI1248_AVX512VL_AVX512BW):

View File

@ -327,14 +327,14 @@ avr_cpu_cpp_builtins (struct cpp_reader *pfile)
cpp_define (pfile, "__AVR_TINY__");
/* Define macro "__AVR_TINY_PM_BASE_ADDRESS__" with mapped program memory
start address. This macro shall be referred where mapped program memory
is accessed. (Eg. copying data section (do_copy_data) contents to data
memory region.
start address. This macro shall be used where mapped program
memory is accessed, eg. copying data section (__do_copy_data)
contents to data memory region.
NOTE:
Program memory of AVR_TINY devices can not be accessed directly, it has
been mapped to the data memory. For AVR_TINY devices (ATtiny4/ 5/ 9/ 10/
20 and 40) mapped program memory starts at 0x4000.
*/
Program memory of AVR_TINY devices cannot be accessed directly,
it has been mapped to the data memory. For AVR_TINY devices
(ATtiny4/5/9/10/20 and 40) mapped program memory starts at 0x4000. */
cpp_define (pfile, "__AVR_TINY_PM_BASE_ADDRESS__=0x4000");
}

File diff suppressed because it is too large Load Diff

View File

@ -91,8 +91,8 @@ FIXME: DRIVER_SELF_SPECS has changed.
there is always __AVR_SP8__ == __AVR_HAVE_8BIT_SP__. */
#define AVR_HAVE_8BIT_SP \
((avr_current_device->dev_attribute & AVR_SHORT_SP) || \
TARGET_TINY_STACK || avr_sp8)
((avr_current_device->dev_attribute & AVR_SHORT_SP) \
|| TARGET_TINY_STACK || avr_sp8)
#define AVR_HAVE_SPH (!avr_sp8)
@ -310,10 +310,10 @@ enum reg_class {
#define STATIC_CHAIN_REGNUM ((AVR_TINY) ? 18 :2)
#define ELIMINABLE_REGS { \
{ARG_POINTER_REGNUM, STACK_POINTER_REGNUM}, \
{ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM}, \
{FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM} \
,{FRAME_POINTER_REGNUM+1,STACK_POINTER_REGNUM+1}}
{ ARG_POINTER_REGNUM, STACK_POINTER_REGNUM }, \
{ ARG_POINTER_REGNUM, FRAME_POINTER_REGNUM }, \
{ FRAME_POINTER_REGNUM, STACK_POINTER_REGNUM }, \
{ FRAME_POINTER_REGNUM + 1, STACK_POINTER_REGNUM + 1 } }
#define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \
OFFSET = avr_initial_elimination_offset (FROM, TO)

View File

@ -64,8 +64,8 @@
])
(define_constants
[ (TMP_REGNO_TINY 16) ; r16 is temp register for AVR_TINY
(ZERO_REGNO_TINY 17) ; r17 is zero register for AVR_TINY
[(TMP_REGNO_TINY 16) ; r16 is temp register for AVR_TINY
(ZERO_REGNO_TINY 17) ; r17 is zero register for AVR_TINY
])
(define_c_enum "unspec"
@ -640,32 +640,31 @@
DONE;
}
/* AVRTC-579
if the source operand expression is out of range for 'lds' instruction
copy source operand expression to register
For tiny core, LDS instruction's memory access range limited to 0x40..0xbf
*/
if (!tiny_valid_direct_memory_access_range(src,<MODE>mode))
// AVRTC-579
// If the source operand expression is out of range for LDS instruction
// copy source operand expression to register.
// For tiny core, LDS instruction's memory access range limited to 0x40..0xbf.
if (!tiny_valid_direct_memory_access_range (src, <MODE>mode))
{
rtx srcx = XEXP(src,0);
operands[1] = src = replace_equiv_address (src,copy_to_mode_reg (GET_MODE(srcx),srcx));
emit_move_insn(dest,src);
rtx srcx = XEXP (src, 0);
operands[1] = src = replace_equiv_address (src, copy_to_mode_reg (GET_MODE (srcx), srcx));
emit_move_insn (dest, src);
DONE;
}
/* AVRTC-579
if the destination operand expression is out of range for 'sts' instruction
copy destination operand expression to register
For tiny core, STS instruction's memory access range limited to 0x40..0xbf
*/
if (!tiny_valid_direct_memory_access_range(dest,<MODE>mode))
{
rtx destx = XEXP(dest,0);
operands[0] = dest = replace_equiv_address (dest,copy_to_mode_reg (GET_MODE(destx),destx));
emit_move_insn(dest,src);
DONE;
}
// AVRTC-579
// If the destination operand expression is out of range for STS instruction
// copy destination operand expression to register.
// For tiny core, STS instruction's memory access range limited to 0x40..0xbf.
if (!tiny_valid_direct_memory_access_range (dest, <MODE>mode))
{
rtx destx = XEXP (dest, 0);
operands[0] = dest = replace_equiv_address (dest, copy_to_mode_reg (GET_MODE (destx), destx));
emit_move_insn (dest, src);
DONE;
}
})
;;========================================================================
@ -683,12 +682,12 @@
[(set (match_operand:ALL1 0 "nonimmediate_operand" "=r ,d ,Qm ,r ,q,r,*r")
(match_operand:ALL1 1 "nox_general_operand" "r Y00,n Ynn,r Y00,Qm,r,q,i"))]
"(register_operand (operands[0], <MODE>mode)
|| reg_or_0_operand (operands[1], <MODE>mode)) &&
/* skip if operands are out of lds/sts memory access range(0x40..0xbf)
though access range is checked during define_expand, it is required
here to avoid merging rtls during combine pass */
tiny_valid_direct_memory_access_range(operands[0],QImode) &&
tiny_valid_direct_memory_access_range(operands[1],QImode)"
|| reg_or_0_operand (operands[1], <MODE>mode))
/* Skip if operands are out of lds/sts memory access range(0x40..0xbf)
though access range is checked during define_expand, it is required
here to avoid merging RTXes during combine pass. */
&& tiny_valid_direct_memory_access_range (operands[0], QImode)
&& tiny_valid_direct_memory_access_range (operands[1], QImode)"
{
return output_movqi (insn, operands, NULL);
}
@ -782,12 +781,12 @@
[(set (match_operand:ALL2 0 "nonimmediate_operand" "=r,r ,r,m ,d,*r,q,r")
(match_operand:ALL2 1 "nox_general_operand" "r,Y00,m,r Y00,i,i ,r,q"))]
"(register_operand (operands[0], <MODE>mode)
|| reg_or_0_operand (operands[1], <MODE>mode)) &&
/* skip if operands are out of lds/sts memory access range(0x40..0xbf)
though access range is checked during define_expand, it is required
here to avoid merging rtls during combine pass */
tiny_valid_direct_memory_access_range(operands[0],HImode) &&
tiny_valid_direct_memory_access_range(operands[1],HImode)"
|| reg_or_0_operand (operands[1], <MODE>mode))
/* Skip if operands are out of lds/sts memory access range(0x40..0xbf)
though access range is checked during define_expand, it is required
here to avoid merging RTXes during combine pass. */
&& tiny_valid_direct_memory_access_range (operands[0], HImode)
&& tiny_valid_direct_memory_access_range (operands[1], HImode)"
{
return output_movhi (insn, operands, NULL);
}
@ -936,12 +935,12 @@
[(set (match_operand:ALL4 0 "nonimmediate_operand" "=r,r ,r ,Qm ,!d,r")
(match_operand:ALL4 1 "nox_general_operand" "r,Y00,Qm,r Y00,i ,i"))]
"(register_operand (operands[0], <MODE>mode)
|| reg_or_0_operand (operands[1], <MODE>mode)) &&
/* skip if operands are out of lds/sts memory access range(0x40..0xbf)
though access range is checked during define_expand, it is required
here to avoid merging rtls during combine pass */
tiny_valid_direct_memory_access_range(operands[0],SImode) &&
tiny_valid_direct_memory_access_range(operands[1],SImode)"
|| reg_or_0_operand (operands[1], <MODE>mode))
/* Skip if operands are out of lds/sts memory access range(0x40..0xbf)
though access range is checked during define_expand, it is required
here to avoid merging RTXes during combine pass. */
&& tiny_valid_direct_memory_access_range (operands[0], SImode)
&& tiny_valid_direct_memory_access_range (operands[1], SImode)"
{
return output_movsisf (insn, operands, NULL);
}
@ -956,12 +955,12 @@
[(set (match_operand:SF 0 "nonimmediate_operand" "=r,r,r ,Qm,!d,r")
(match_operand:SF 1 "nox_general_operand" "r,G,Qm,rG,F ,F"))]
"(register_operand (operands[0], SFmode)
|| reg_or_0_operand (operands[1], SFmode)) &&
/* skip if operands are out of lds/sts memory access range(0x40..0xbf)
though access range is checked during define_expand, it is required
here to avoid merging rtls during combine pass */
tiny_valid_direct_memory_access_range(operands[0],SFmode) &&
tiny_valid_direct_memory_access_range(operands[1],SFmode)"
|| reg_or_0_operand (operands[1], SFmode))
/* Skip if operands are out of lds/sts memory access range(0x40..0xbf)
though access range is checked during define_expand, it is required
here to avoid merging rtls during combine pass. */
&& tiny_valid_direct_memory_access_range (operands[0], SFmode)
&& tiny_valid_direct_memory_access_range (operands[1], SFmode)"
{
return output_movsisf (insn, operands, NULL);
}
@ -2229,10 +2228,10 @@
DONE;
}
/* For small constants we can do better by extending them on the fly.
The constant can be loaded in one instruction and the widening
multiplication is shorter. First try the unsigned variant because it
allows constraint "d" instead of "a" for the signed version. */
/* ; For small constants we can do better by extending them on the fly.
; The constant can be loaded in one instruction and the widening
; multiplication is shorter. First try the unsigned variant because it
; allows constraint "d" instead of "a" for the signed version. */
if (s9_operand (operands[2], HImode))
{
@ -3255,7 +3254,7 @@
swap %0\;lsl %0\;adc %0,__zero_reg__
swap %0\;lsl %0\;adc %0,__zero_reg__\;lsl %0\;adc %0,__zero_reg__
bst %0,0\;ror %0\;bld %0,7
"
" ; empty
[(set_attr "length" "2,4,4,1,3,5,3,0")
(set_attr "cc" "set_n,set_n,clobber,none,set_n,set_n,clobber,none")])
@ -5059,7 +5058,7 @@
}
else
{
operands[7] = gen_rtx_PLUS (HImode, operands[6],
operands[7] = gen_rtx_PLUS (HImode, operands[6],
gen_rtx_LABEL_REF (VOIDmode, operands[3]));
operands[8] = const0_rtx;
operands[10] = operands[6];
@ -5611,7 +5610,7 @@
(clobber (match_scratch:QI 2 "=&d"))]
""
"ldi %2,lo8(%0)
1: dec %2
1: dec %2
brne 1b"
[(set_attr "length" "3")
(set_attr "cc" "clobber")])
@ -5625,8 +5624,8 @@
(clobber (match_scratch:HI 2 "=&w,&d"))]
""
"@
ldi %A2,lo8(%0)\;ldi %B2,hi8(%0)\;1: sbiw %A2,1\;brne 1b
ldi %A2,lo8(%0)\;ldi %B2,hi8(%0)\;1: subi %A2,1\;sbci %B2,0\;brne 1b"
ldi %A2,lo8(%0)\;ldi %B2,hi8(%0)\n1: sbiw %A2,1\;brne 1b
ldi %A2,lo8(%0)\;ldi %B2,hi8(%0)\n1: subi %A2,1\;sbci %B2,0\;brne 1b"
[(set_attr "length" "4,5")
(set_attr "isa" "no_tiny,tiny")
(set_attr "cc" "clobber")])
@ -5644,7 +5643,7 @@
"ldi %2,lo8(%0)
ldi %3,hi8(%0)
ldi %4,hlo8(%0)
1: subi %2,1
1: subi %2,1
sbci %3,0
sbci %4,0
brne 1b"
@ -5666,7 +5665,7 @@
ldi %3,hi8(%0)
ldi %4,hlo8(%0)
ldi %5,hhi8(%0)
1: subi %2,1
1: subi %2,1
sbci %3,0
sbci %4,0
sbci %5,0