[PATCH] [ARC] Add checking for LP_COUNT reg usage, improve error reporting.

Claudiu Zissulescu Claudiu.Zissulescu@synopsys.com
Mon Nov 28 12:00:00 GMT 2016


Hi,

The mail server didn't let me to send the patch in clear, thus I needed to compress it.  Sorry for the large patch, but it mainly changes a number of instruction attributes. 
Here it is the original message:

The loop count register (LP_COUNT) is used for zero delay loops. We
should not use LP_COUNT as a general purpose register because LP_COUNT
maybe decremented if the program counter equals the loop end
addresses.

We should also not use the LP_COUNT register as the destination of
multi-cycle instruction, including multicycle extension
instructions. A multi-cycle instruction writing to the
LP_COUNT register raises an Illegal Instruction exception.  The
following instructions are considered as multi-cycle instructions:
	  - Load operations
	  - LR instructions
	  - Multiply and Divide instructions
	  - Multi-cycle non-blocking extension instructions

This proposed patch adds extra LP_COUNT checks for selected
instructions, and improves the error reporting of our assembler.

The patch is tested for LE/BE systems with ARC6xx, ARC7xx or ARCv2
cpu variations.

OK to apply?
Claudiu 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Add-checking-for-LP_COUNT-reg.tar.gz
Type: application/x-gzip
Size: 65227 bytes
Desc: Add-checking-for-LP_COUNT-reg.tar.gz
URL: <https://sourceware.org/pipermail/binutils/attachments/20161128/dad08ec7/attachment.bin>


More information about the Binutils mailing list