From 41ef93744a0a3265eb02ed57870285859d6b4594 Mon Sep 17 00:00:00 2001 From: William Irwin Date: Fri, 4 Nov 2011 17:12:44 +0000 Subject: [PATCH] ck_pr: Add ck_pr_load_double()/ck_pr_store_double() in case volatile loads and stores of floating point values are needed. --- include/gcc/ck_pr.h | 1 + include/gcc/ppc64/ck_pr.h | 2 ++ include/gcc/sparcv9/ck_pr.h | 2 ++ include/gcc/x86_64/ck_pr.h | 2 ++ 4 files changed, 7 insertions(+) diff --git a/include/gcc/ck_pr.h b/include/gcc/ck_pr.h index 1f1acf4..dbf2101 100644 --- a/include/gcc/ck_pr.h +++ b/include/gcc/ck_pr.h @@ -65,6 +65,7 @@ CK_PR_LOAD(ptr, void, void *) CK_PR_LOAD_S(char, char) CK_PR_LOAD_S(uint, unsigned int) CK_PR_LOAD_S(int, int) +CK_PR_LOAD_S(double, double) CK_PR_LOAD_S(64, uint64_t) CK_PR_LOAD_S(32, uint32_t) CK_PR_LOAD_S(16, uint16_t) diff --git a/include/gcc/ppc64/ck_pr.h b/include/gcc/ppc64/ck_pr.h index b3fc1f7..87bd007 100644 --- a/include/gcc/ppc64/ck_pr.h +++ b/include/gcc/ppc64/ck_pr.h @@ -98,6 +98,7 @@ CK_PR_LOAD_S(uint, unsigned int, "lwz") CK_PR_LOAD_S(int, int, "lwz") CK_PR_LOAD_S(short, short, "lhz") CK_PR_LOAD_S(char, char, "lbz") +CK_PR_LOAD_S(double, double, "ld") #undef CK_PR_LOAD_S #undef CK_PR_LOAD @@ -125,6 +126,7 @@ CK_PR_STORE_S(uint, unsigned int, "stw") CK_PR_STORE_S(int, int, "stw") CK_PR_STORE_S(short, short, "sth") CK_PR_STORE_S(char, char, "stb") +CK_PR_STORE_S(double, double, "std") #undef CK_PR_STORE_S #undef CK_PR_STORE diff --git a/include/gcc/sparcv9/ck_pr.h b/include/gcc/sparcv9/ck_pr.h index b1c63b9..f5e66e6 100644 --- a/include/gcc/sparcv9/ck_pr.h +++ b/include/gcc/sparcv9/ck_pr.h @@ -90,6 +90,7 @@ CK_PR_LOAD(ptr, void, void *, uint64_t, "ldx") CK_PR_LOAD_S(64, uint64_t, "ldx") CK_PR_LOAD_S(32, uint32_t, "lduw") CK_PR_LOAD_S(uint, unsigned int, "lduw") +CK_PR_LOAD_S(double, double, "ldx") CK_PR_LOAD_S(int, int, "ldsw") #undef CK_PR_LOAD_S @@ -115,6 +116,7 @@ CK_PR_STORE_S(8, uint8_t, "stub") CK_PR_STORE_S(64, uint64_t, "stx") CK_PR_STORE_S(32, uint32_t, "stuw") CK_PR_STORE_S(uint, unsigned int, "stuw") +CK_PR_STORE_S(double, double, "stx") CK_PR_STORE_S(int, int, "stsw") #undef CK_PR_STORE_S diff --git a/include/gcc/x86_64/ck_pr.h b/include/gcc/x86_64/ck_pr.h index fc0516e..e1e7b02 100644 --- a/include/gcc/x86_64/ck_pr.h +++ b/include/gcc/x86_64/ck_pr.h @@ -139,6 +139,7 @@ CK_PR_LOAD(ptr, void, void *, char, "movq") CK_PR_LOAD_S(char, char, "movb") CK_PR_LOAD_S(uint, unsigned int, "movl") CK_PR_LOAD_S(int, int, "movl") +CK_PR_LOAD_S(double, double, "movq") CK_PR_LOAD_S(64, uint64_t, "movq") CK_PR_LOAD_S(32, uint32_t, "movl") CK_PR_LOAD_S(16, uint16_t, "movw") @@ -206,6 +207,7 @@ CK_PR_STORE(ptr, void, void *, char, "movq") CK_PR_STORE_S(char, char, "movb") CK_PR_STORE_S(uint, unsigned int, "movl") CK_PR_STORE_S(int, int, "movl") +CK_PR_STORE_S(double, double, "movq") CK_PR_STORE_S(64, uint64_t, "movq") CK_PR_STORE_S(32, uint32_t, "movl") CK_PR_STORE_S(16, uint16_t, "movw")