File tree Expand file tree Collapse file tree 1 file changed +7
-4
lines changed
Expand file tree Collapse file tree 1 file changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -1108,6 +1108,7 @@ __asm__ (".align 4\n"
11081108 "blx r6\n\t"
11091109 // retval
11101110 "vmov r0, s0 @ <retval>\n\t"
1111+ "vmov r1, s1 @ <retval>\n\t"
11111112 "adds r7, r7, #72\n\t"
11121113 "mov sp, r7\n\t"
11131114 "@ sp needed @\n\t"
@@ -1166,10 +1167,12 @@ pointer args[];
11661167 c = ((eusinteger_t )numbox .i .i1 ) & 0x00000000FFFFFFFF ;
11671168 if (fcntr < NUM_FLT_ARGUMENTS ) fargv [fcntr ++ ] = c ; else vargv [vcntr ++ ] = c ;
11681169 } else if (p == K_DOUBLE ) {
1169- numbox .f = ckfltval (lisparg );
1170- //c=numbox.l;
1171- c = ((eusinteger_t )numbox .i .i1 ) & 0x00000000FFFFFFFF ;
1172- if (fcntr < NUM_FLT_ARGUMENTS ) fargv [fcntr ++ ] = c ; else vargv [vcntr ++ ] = c ;
1170+ numbox .d = (double )ckfltval (lisparg );
1171+ if (fcntr < NUM_FLT_ARGUMENTS ) {
1172+ fargv [fcntr ++ ] = numbox .i .i1 ; fargv [fcntr ++ ] = numbox .i .i2 ;
1173+ } else {
1174+ vargv [vcntr ++ ] = numbox .i .i1 ; vargv [vcntr ++ ] = numbox .i .i2 ;
1175+ }
11731176 } else error (E_USER ,(pointer )"unknown type specifier" );
11741177 if (vcntr >= NUM_EXTRA_ARGUMENTS ) {
11751178 error (E_USER ,(pointer )"too many number of arguments" );
You can’t perform that action at this time.
0 commit comments