Am 13.02.2013 01:39, schrieb Tom Stellard:
[SNIP]

Way back when I first started working on the backend I was using
immediate operands in instructions defined to only uses registers, and
it worked most of the time, but I ran into a few cases where some of the
passes weren't able to handle it.  So, I'm actually kind of surprised that this
works, but it's a nice simplification in any case.

I stumbled over a couple of problems while coding it, but they were not related to the fact that I tried to put immediate values into operands that should only have registers. It was more that it surfaced a couple of other problems, for example we shouldn't use f64 as supported type in a RegisterClass and then forget to set a default class for f64 with "addRegisterClass", that can lead to a whole bunch of problems, including segfaults.

Actually when you look into the MCOperandInfo class the only difference between an immediate operand and an register operand is that registers have a RegClass. Apart from that this information is only available at pattern matching time, and there it doesn't seems to matter.

Christian.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to