summaryrefslogtreecommitdiff
path: root/boehm-gc
diff options
context:
space:
mode:
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2004-04-06 18:05:05 +0000
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2004-04-06 18:05:05 +0000
commit3fc79ca2c461e43020fbeb484daf2b77f7cfcf14 (patch)
treec5f025a9cb7182caa6ea50a3b0a159295b43adb4 /boehm-gc
parentd17281c994ab8e35cde3896a8f4447d81db2bd7e (diff)
downloadgcc-3fc79ca2c461e43020fbeb484daf2b77f7cfcf14.tar.gz
2004-04-06 H.J. Lu <hongjiu.lu@intel.com>
* include/private/gcconfig.h (PREFETCH): Use __builtin_prefetch for gcc >= 3.0. (PREFETCH_FOR_WRITE): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80459 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'boehm-gc')
-rw-r--r--boehm-gc/ChangeLog6
-rw-r--r--boehm-gc/include/private/gcconfig.h8
2 files changed, 10 insertions, 4 deletions
diff --git a/boehm-gc/ChangeLog b/boehm-gc/ChangeLog
index a8409143c1e..182fef1cab3 100644
--- a/boehm-gc/ChangeLog
+++ b/boehm-gc/ChangeLog
@@ -1,3 +1,9 @@
+2004-04-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * include/private/gcconfig.h (PREFETCH): Use __builtin_prefetch
+ for gcc >= 3.0.
+ (PREFETCH_FOR_WRITE): Likewise.
+
2004-03-10 Kelley Cook <kcook@gcc.gnu.org>
* configure.ac: Bump AC_PREREQ to 2.59.
diff --git a/boehm-gc/include/private/gcconfig.h b/boehm-gc/include/private/gcconfig.h
index a13ad2ef835..32b6e482cfe 100644
--- a/boehm-gc/include/private/gcconfig.h
+++ b/boehm-gc/include/private/gcconfig.h
@@ -1801,10 +1801,10 @@
extern int etext[];
# define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
# endif
-# define PREFETCH(x) \
- __asm__ __volatile__ (" prefetch %0": : "m"(*(char *)(x)))
-# define PREFETCH_FOR_WRITE(x) \
- __asm__ __volatile__ (" prefetchw %0": : "m"(*(char *)(x)))
+# if defined(__GNUC__) && __GNUC__ >= 3
+# define PREFETCH(x) __builtin_prefetch ((x), 0, 0)
+# define PREFETCH_FOR_WRITE(x) __builtin_prefetch ((x), 1)
+# endif
# endif
# endif