[問題] Floating compute (C inline asm code)
請教一下關於C inline asm的問題
目前我在C code中插入一段asm的floating compute
不過發現一個小問題,就是當我將float換成double時
答案會全部錯掉,我不是很清楚原因是什麼
我是用的Compiler為gcc-4.4,OS為Linux
以下是我的Sample Code:
可運行的code
float a = 10, b = 11, c;
asm ("fld %1; fld %2; fstp %0;" :"=g"(c) : "g"(a), "g"(b));
printf("%f\n", a);
有問題的code
double a = 10, b = 11, c;
asm ("fld %1; fld %2; fstp %0;" :"=g"(c) : "g"(a), "g"(b));
printf("%f\n", a);
請教各位先進,不知道我是哪邊沒有注意到,還請指點一下,謝謝
--
ˍˍ
很多人在即將失去的時候,不知他即將失去,最後他就真正失去 ▕天險▏
其實,一個不曾失去的人最可憐。因為,他永遠學不會什麼叫珍惜。▕刀藏▏
 ̄ ̄
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.118.9.54
※ 編輯: godman362 來自: 122.118.9.54 (12/26 12:30)
→
12/26 13:15, , 1F
12/26 13:15, 1F
推
12/26 13:24, , 2F
12/26 13:24, 2F
推
12/26 13:29, , 3F
12/26 13:29, 3F
→
12/26 16:03, , 4F
12/26 16:03, 4F
→
12/26 16:04, , 5F
12/26 16:04, 5F
→
12/26 16:04, , 6F
12/26 16:04, 6F