- if (DOUBLE==(type&0xF) || DOUBLE==((type>>4)&0xF))
- *(short *)(regs[i+1]) = 0; /* clobber two at once */
+ switch(type & 0xF){
+ case DFLOAT: /* clobber two at once */
+ /*FALLTHROUGH*/
+ case GFLOAT:
+ *(short *)(regs[i+1]) = 0;
+ break;
+ case HFLOAT: /* clobber four at once */
+ *(short *)(regs[i+1]) = 0;
+ *(short *)(regs[i+2]) = 0;
+ *(short *)(regs[i+3]) = 0;
+ break;
+ }
+ switch((type>>4)&0xF){
+ case DFLOAT: /* clobber two at once */
+ /*FALLTHROUGH*/
+ case GFLOAT:
+ *(short *)(regs[i+1]) = 0;
+ break;
+ case HFLOAT: /* clobber four at once */
+ *(short *)(regs[i+1]) = 0;
+ *(short *)(regs[i+2]) = 0;
+ *(short *)(regs[i+3]) = 0;
+ break;
+ }
+ /*
+ if (DFLOAT==(type&0xF) || DFLOAT==((type>>4)&0xF))
+ *(short *)(regs[i+1]) = 0;
+ */