首页 > 试题广场 >

对于下面的C代码,表达式vail〜val4分别对应程序值i、

[问答题]

对于下面的C代码,表达式vail〜val4分别对应程序值i、f、d和l:

double fcvt2(int *ip, float *fp, double *dp, long l)
{
int i=*ip; float f =*fp; double d = *dp;
 *ip = (int) val1;
  *fp = (float) val2;
  *dp = (double) val3;
  return (double) val4;
}
根据该函数如下的x86-64代码,确定这个映射关系:
fcvt2:
 movl        (%rdi),%eax
 vmovss      %rsi),%xmm0
 vcvttsd2si  (%rdx),%r8d
 movl        %r8d,(%rdi)
 vcvtsi2ss    %eax,%xmm1,%xmm1
 vmovss       %xmm1,(%rsi)
  vcvtsi2sdq  %rcx,%xmm1,%xmm1
  vmovsd       %xmm1,(%rdx)
  vunpcklps    %xmm0,%xmm0,%xmm0
  vcvtps2pd   %xmm0,%xmm0
  ret

这道题你会答吗?花几分钟告诉大家答案吧!