summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Watry <awatry@gmail.com>2013-03-27 20:47:53 -0500
committerAaron Watry <awatry@gmail.com>2013-03-27 20:47:53 -0500
commit3b1dfd65154603569fb7fa705586eb351e70f359 (patch)
treeb277a250b03f3cf187928741480b0d90d6c7ff24
parent47645bd47bc9f7029dca4068068d872ab10c6703 (diff)
Add a another TODO note.rotate
-rw-r--r--generic/lib/integer/rotate.inc3
1 files changed, 3 insertions, 0 deletions
diff --git a/generic/lib/integer/rotate.inc b/generic/lib/integer/rotate.inc
index b34ffed..2aa6cc9 100644
--- a/generic/lib/integer/rotate.inc
+++ b/generic/lib/integer/rotate.inc
@@ -27,6 +27,9 @@ _CLC_OVERLOAD _CLC_DEF GENTYPE rotate(GENTYPE x, GENTYPE n){
UGENTYPE x_1 = __builtin_astype(x, UGENTYPE);
+ //XXX: Is (UGENTYPE >> SGENTYPE) | (UGENTYPE << SGENTYPE) legal?
+ // If so, then combine the amt and shifts into a single set of statements
+
UGENTYPE amt;
amt = (n < (GENTYPE)0 ? __builtin_astype((GENTYPE)0-n, UGENTYPE) : (UGENTYPE)0);
x_1 = (x_1 >> amt) | (x_1 << ((UGENTYPE)GENSIZE - amt));