[sim] integrated SoftFloat-3 with ISA sim; removed SoftFloat-2b
[riscv-isa-sim.git] / softfloat / s_shift64ExtraRightJam.cc
diff --git a/softfloat/s_shift64ExtraRightJam.cc b/softfloat/s_shift64ExtraRightJam.cc
new file mode 100755 (executable)
index 0000000..167ea54
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+#include <stdint.h>\r
+#include "platform.h"\r
+#include "primitives.h"\r
+\r
+struct uint64_extra\r
+ softfloat_shift64ExtraRightJam(\r
+     uint64_t a, uint64_t extra, unsigned int count )\r
+{\r
+    struct uint64_extra z;\r
+\r
+    if ( count < 64 ) {\r
+        z.v = a>>count;\r
+        z.extra = a<<( ( - count ) & 63 );\r
+    } else {\r
+        z.v = 0;\r
+        z.extra = ( count == 64 ) ? a : ( a != 0 );\r
+    }\r
+    z.extra |= ( extra != 0 );\r
+    return z;\r
+\r
+}\r
+\r