Output operand expressions must be lvalues; the compiler can check this. The input operands need not be lvalues. The compiler cannot check whether the operands have data types that are reasonable for the instruction being executed. It does not parse the assembler instruction template and does not know what it means or even whether it is valid assembler input.
Tinkering with Dreamcast's Sh4's architecture
-
- DCEmu User with No Life
- Posts: 3641
- https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
- Joined: Sat Feb 16, 2002 1:55 pm
- Has thanked: 0
- Been thanked: 0
Re: Tinkering with Dreamcast's Sh4's architecture
gcc doesn't know how to parse the asm to figure out whether the code is reading and/or writing any given variable:
"You know, I have a great, wonderful, really original method of teaching antitrust law, and it kept 80 percent of the students awake. They learned things. It was fabulous." -- Justice Stephen Breyer
Re: Tinkering with Dreamcast's Sh4's architecture
Hmm, so if these constraints aren't passed the variables won't be updated?Ex-Cyber wrote:gcc doesn't know how to parse the asm to figure out whether the code is reading and/or writing any given variable:
Output operand expressions must be lvalues; the compiler can check this. The input operands need not be lvalues. The compiler cannot check whether the operands have data types that are reasonable for the instruction being executed. It does not parse the assembler instruction template and does not know what it means or even whether it is valid assembler input.