- if (o->roff3 && o->roff4) {
- *(unsigned long *) o->roff3 = ul1;
- *(unsigned long *) o->roff4 = ul2;
- } else if (o->off3 && o->off4) {
- val_store(ilp, ul1, o->off3, 0, data);
- val_store(ilp, ul2, o->off4, 0, data);
+ if (curr == 1) {
+ if (o->roff3 && o->roff4) {
+ *(unsigned int *) o->roff3 = ul1;
+ *(unsigned int *) o->roff4 = ul2;
+ } else if (o->off3 && o->off4) {
+ val_store(ilp, ul1, o->off3, 0, data);
+ val_store(ilp, ul2, o->off4, 0, data);
+ }
+ }
+ if (curr == 2) {
+ if (o->roff5 && o->roff6) {
+ *(unsigned int *) o->roff5 = ul1;
+ *(unsigned int *) o->roff6 = ul2;
+ } else if (o->off5 && o->off6) {
+ val_store(ilp, ul1, o->off5, 0, data);
+ val_store(ilp, ul2, o->off6, 0, data);
+ }
+ }
+ if (!more) {
+ if (curr < 1) {
+ if (o->roff3 && o->roff4) {
+ *(unsigned int *) o->roff3 = ul1;
+ *(unsigned int *) o->roff4 = ul2;
+ } else if (o->off3 && o->off4) {
+ val_store(ilp, ul1, o->off3, 0, data);
+ val_store(ilp, ul2, o->off4, 0, data);
+ }
+ }
+ if (curr < 2) {
+ if (o->roff5 && o->roff6) {
+ *(unsigned int *) o->roff5 = ul1;
+ *(unsigned int *) o->roff6 = ul2;
+ } else if (o->off5 && o->off6) {
+ val_store(ilp, ul1, o->off5, 0, data);
+ val_store(ilp, ul2, o->off6, 0, data);
+ }
+ }