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] | |
On 11/20/2015 06:05 AM, Richard Henderson wrote:
And even more difficult to document exactly what happens, largely because the implementation in GCC isn't consistent across passes and there's differences in behaviour that are dependent on the target implementation as well.I'd be perfectly happy to deprecate and later completely remove basic asm within functions. Because IMO it's essentially useless. It has no inputs, no outputs, and no way to tell the compiler what machine state has been changed. We can say that "it clobbers everything", but that's not actually useful, and quite difficult as you're finding out.
Unfortunately there's not a single place where we can ensure consistent behaviour, so each pass has had to handle ASMs independently, and I'm pretty sure they all get it wrong to varying degrees.
That might be a little drastic. Though if we want to go this direction, the first step is to deprecate for a major release cycle. It would be interesting to see how much stuff would complain/break.It seems to me that it would be better to remove the feature, forcing what must be an extremely small number of users to audit and update to extended asm.
jeff
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |