public override sealed Reg CGenValue(CGenState state) {
CGenArithmetic(state);
if (this.Type is FloatType || this.Type is DoubleType) {
return Reg.ST0;
} else if (this.Type is LongType || this.Type is ULongType) {
return Reg.EAX;
} else {
throw new InvalidOperationException("Invalid operand type.");
}
}
}