summaryrefslogtreecommitdiffstats
path: root/include/asm-sh/checksum.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-sh/checksum.h')
-rw-r--r--include/asm-sh/checksum.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/include/asm-sh/checksum.h b/include/asm-sh/checksum.h
index 05a556fc7..7e9418b3b 100644
--- a/include/asm-sh/checksum.h
+++ b/include/asm-sh/checksum.h
@@ -82,7 +82,8 @@ static __inline__ unsigned int csum_fold(unsigned int sum)
"add %1, %0\n\t"
"not %0, %0\n\t"
: "=r" (sum), "=&r" (__dummy)
- : "0" (sum));
+ : "0" (sum)
+ : "t");
return sum;
}
@@ -115,7 +116,8 @@ static __inline__ unsigned short ip_fast_csum(unsigned char * iph, unsigned int
are modified, we must also specify them as outputs, or gcc
will assume they contain their original values. */
: "=r" (sum), "=r" (iph), "=r" (ihl), "=&r" (__dummy0), "=&z" (__dummy1)
- : "1" (iph), "2" (ihl));
+ : "1" (iph), "2" (ihl)
+ : "t");
return csum_fold(sum);
}
@@ -138,7 +140,8 @@ static __inline__ unsigned long csum_tcpudp_nofold(unsigned long saddr,
"movt %0\n\t"
"add %1, %0"
: "=r" (sum), "=r" (len_proto)
- : "r" (daddr), "r" (saddr), "1" (len_proto), "0" (sum));
+ : "r" (daddr), "r" (saddr), "1" (len_proto), "0" (sum)
+ : "t");
return sum;
}
@@ -197,7 +200,8 @@ static __inline__ unsigned short int csum_ipv6_magic(struct in6_addr *saddr,
"add %1, %0\n"
: "=r" (sum), "=&r" (__dummy)
: "r" (saddr), "r" (daddr),
- "r" (htonl(len)), "r" (htonl(proto)), "0" (sum));
+ "r" (htonl(len)), "r" (htonl(proto)), "0" (sum)
+ : "t");
return csum_fold(sum);
}