summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/fapiHwpExecInitFile.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/hwpf/hwp/fapiHwpExecInitFile.C')
-rw-r--r--src/usr/hwpf/hwp/fapiHwpExecInitFile.C11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/usr/hwpf/hwp/fapiHwpExecInitFile.C b/src/usr/hwpf/hwp/fapiHwpExecInitFile.C
index 6c5d6040b..42fc1b766 100644
--- a/src/usr/hwpf/hwp/fapiHwpExecInitFile.C
+++ b/src/usr/hwpf/hwp/fapiHwpExecInitFile.C
@@ -57,6 +57,7 @@
* data column
* SW146714 camvanng 06/08/2012 Use two bytes to store row
* rpn sequence byte count
+ * camvanng 06/15/2012 Ability to do bitwise OR and AND operations
*/
#include <fapiHwpExecInitFile.H>
@@ -1831,6 +1832,14 @@ uint64_t rpnBinaryOp(IfRpnOp i_op, uint64_t i_val1, uint64_t i_val2,
result = i_val1 >> i_val2;
break;
+ case (BITWISEAND):
+ result = i_val1 & i_val2;
+ break;
+
+ case (BITWISEOR):
+ result = i_val1 | i_val2;
+ break;
+
default:
FAPI_ERR("fapiHwpExecInitFile: rpnBinaryOp, invalid operator %d",
i_op);
@@ -1964,6 +1973,8 @@ fapi::ReturnCode rpnDoOp(rpnStack_t * io_rpnStack, IfRpnOp i_op, uint32_t i_any)
case (MOD):
case (SHIFTLEFT):
case (SHIFTRIGHT):
+ case (BITWISEAND):
+ case (BITWISEOR):
//pop the first value
val2 = rpnPop(io_rpnStack);
OpenPOWER on IntegriCloud