2002-04-26 Eric Norum <eric.norum@usask.ca>

* netinet/in_cksum_i386.c: Add volatile so the more agressive
	optimization in gcc 3.1 does not reorder things.
This commit is contained in:
Joel Sherrill
2002-04-26 21:34:58 +00:00
parent 6236b47067
commit d50c0d2534
7 changed files with 47 additions and 16 deletions

View File

@@ -1,3 +1,8 @@
2002-04-26 Eric Norum <eric.norum@usask.ca>
* netinet/in_cksum_i386.c: Add volatile so the more agressive
optimization in gcc 3.1 does not reorder things.
2002-04-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* pppd/utils.c: Adapt to gcc-3.x.

View File

@@ -19,10 +19,14 @@
* Thanks to gcc we don't have to guess
* which registers contain sum & w.
*/
#define ADD(n) asm("addl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define ADDC(n) asm("adcl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define LOAD(n) asm volatile("movb " #n "(%1), %0" : "=r" (junk) : "r" (w))
#define MOP asm("adcl $0, %0" : "=r" (sum) : "0" (sum))
#define ADD(n) __asm__ volatile \
("addl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define ADDC(n) __asm__ volatile \
("adcl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define LOAD(n) __asm__ volatile \
("movb " #n "(%1), %0" : "=r" (junk) : "r" (w))
#define MOP __asm__ volatile \
("adcl $0, %0" : "=r" (sum) : "0" (sum))
int
in_cksum(m, len)

View File

@@ -1,3 +1,8 @@
2002-04-26 Eric Norum <eric.norum@usask.ca>
* netinet/in_cksum_i386.c: Add volatile so the more agressive
optimization in gcc 3.1 does not reorder things.
2002-04-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* pppd/utils.c: Adapt to gcc-3.x.

View File

@@ -19,10 +19,14 @@
* Thanks to gcc we don't have to guess
* which registers contain sum & w.
*/
#define ADD(n) asm("addl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define ADDC(n) asm("adcl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define LOAD(n) asm volatile("movb " #n "(%1), %0" : "=r" (junk) : "r" (w))
#define MOP asm("adcl $0, %0" : "=r" (sum) : "0" (sum))
#define ADD(n) __asm__ volatile \
("addl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define ADDC(n) __asm__ volatile \
("adcl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define LOAD(n) __asm__ volatile \
("movb " #n "(%1), %0" : "=r" (junk) : "r" (w))
#define MOP __asm__ volatile \
("adcl $0, %0" : "=r" (sum) : "0" (sum))
int
in_cksum(m, len)

View File

@@ -1,3 +1,8 @@
2002-04-26 Eric Norum <eric.norum@usask.ca>
* netinet/in_cksum_i386.c: Add volatile so the more agressive
optimization in gcc 3.1 does not reorder things.
2002-04-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* pppd/utils.c: Adapt to gcc-3.x.

View File

@@ -19,10 +19,14 @@
* Thanks to gcc we don't have to guess
* which registers contain sum & w.
*/
#define ADD(n) asm("addl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define ADDC(n) asm("adcl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define LOAD(n) asm volatile("movb " #n "(%1), %0" : "=r" (junk) : "r" (w))
#define MOP asm("adcl $0, %0" : "=r" (sum) : "0" (sum))
#define ADD(n) __asm__ volatile \
("addl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define ADDC(n) __asm__ volatile \
("adcl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define LOAD(n) __asm__ volatile \
("movb " #n "(%1), %0" : "=r" (junk) : "r" (w))
#define MOP __asm__ volatile \
("adcl $0, %0" : "=r" (sum) : "0" (sum))
int
in_cksum(m, len)

View File

@@ -19,10 +19,14 @@
* Thanks to gcc we don't have to guess
* which registers contain sum & w.
*/
#define ADD(n) asm("addl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define ADDC(n) asm("adcl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define LOAD(n) asm volatile("movb " #n "(%1), %0" : "=r" (junk) : "r" (w))
#define MOP asm("adcl $0, %0" : "=r" (sum) : "0" (sum))
#define ADD(n) __asm__ volatile \
("addl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define ADDC(n) __asm__ volatile \
("adcl " #n "(%2), %0" : "=r" (sum) : "0" (sum), "r" (w))
#define LOAD(n) __asm__ volatile \
("movb " #n "(%1), %0" : "=r" (junk) : "r" (w))
#define MOP __asm__ volatile \
("adcl $0, %0" : "=r" (sum) : "0" (sum))
int
in_cksum(m, len)