@@ -77,11 +77,11 @@ pushDouble(struct call_context **context, size_t *currentSSE, double value) { struct call_context *newContext; if (*currentSSE < NUM_SSE_IN) { - (*context)->sse[(*currentSSE)++] = _mm_set_sd(value); + (*context)->sse[(*currentSSE)++] = (__m128)_mm_set_sd(value); (*context)->num_sse_used++; return; } if ((newContext = realloc(*context, @@ -273,11 +273,11 @@ _mm_store_ss(&floatTmp, context->sse[0]); [invocation setReturnValue: &floatTmp]; break; case 'd':; double doubleTmp; - _mm_store_sd(&doubleTmp, context->sse[0]); + _mm_store_sd(&doubleTmp, (__m128d)context->sse[0]); [invocation setReturnValue: &doubleTmp]; break; case 'D': [invocation setReturnValue: &context->x87[0]]; break;