This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
sorry again:)->extended asm problem
- From: Ankit Jain <ankitjain1580 at yahoo dot com>
- To: gcc <gcc-help at gcc dot gnu dot org>
- Date: Mon, 9 Aug 2004 15:41:26 +0100 (BST)
- Subject: sorry again:)->extended asm problem
sorry again. i generally dont make such mistyakes
while asking questiuons. but yes it should %0.
and i want it through pointers. earlier my program was
having all these things correct but somewhat later i
have done all these mistakes in the code and while
sending the problem i pasted this error code.
i guess the code below is correct and i have to
understand why array b is not initialised with the
value
1 #include<inttypes.h>
2
3
4 int main()
5 {
6 uint8_t
a[8]={1,2,3,4,5,6,7,8},b[8]={0,0,0,0,0,0},i;
7 uint8_t *m,*m1;
8
9 m=a;
10 m1=b; //i have pointed m1 to b
11 for(i=0;i<8;i++)
12 printf("%d ",a[i]);
13 printf("\n");
14 asm("movq (%1), %%mm0 \n"
15 "movq %%mm0, (%0) \n"
16 :"=r"(m1)
17 :"r"(m)
18 );
19
20 for(i=0;i<8;i++)
21 printf("%d ",b[i]);
22 return 0;
23 }
so i expect that b should be initialised
the problem in this code is it is printing array b as
00000000
it is not moving the values
WHY?
thanks a lot
ankit
________________________________________________________________________
Yahoo! Messenger - Communicate instantly..."Ping"
your friends today! Download Messenger Now
http://uk.messenger.yahoo.com/download/index.html