- if (mono_hwcap_s390x_has_ld) {
- s390_stdy (code, s390_f0, 0, STK_BASE, fpOffset);
- s390_stdy (code, s390_f2, 0, STK_BASE, fpOffset+sizeof(gdouble));
- s390_stdy (code, s390_f4, 0, STK_BASE, fpOffset+2*sizeof(gdouble));
- s390_stdy (code, s390_f6, 0, STK_BASE, fpOffset+3*sizeof(gdouble));
- } else {
- s390_std (code, s390_f0, 0, baseReg, fpOffset);
- s390_std (code, s390_f2, 0, baseReg, fpOffset+sizeof(gdouble));
- s390_std (code, s390_f4, 0, baseReg, fpOffset+2*sizeof(gdouble));
- s390_std (code, s390_f6, 0, baseReg, fpOffset+3*sizeof(gdouble));
- }
- s390_basr (code, s390_r13, 0);
- s390_j (code, 10);
- s390_llong(code, cfg->method);
- s390_llong(code, func);
- s390_lg (code, s390_r2, 0, s390_r13, 4);
- if (mono_hwcap_s390x_has_ld)
- s390_lay (code, s390_r3, 0, STK_BASE, parmOffset);
- else
- s390_la (code, s390_r3, 0, baseReg, parmOffset);
+ s390_stdy (code, s390_f0, 0, STK_BASE, fpOffset);
+ s390_stdy (code, s390_f2, 0, STK_BASE, fpOffset+sizeof(gdouble));
+ s390_stdy (code, s390_f4, 0, STK_BASE, fpOffset+2*sizeof(gdouble));
+ s390_stdy (code, s390_f6, 0, STK_BASE, fpOffset+3*sizeof(gdouble));
+ S390_SET (code, s390_r1, func);
+ S390_SET (code, s390_r2, cfg->method);
+ s390_lay (code, s390_r3, 0, STK_BASE, parmOffset);