17 sourceList.append(helper.generateBinaryIntrinsic(
'add',
'+',{},[],
False,
False,
False,
'merge'))
25 sourceList.append(helper.generateBinaryIntrinsic(
'sub',
'-',{},[],
False,
False,
False,
'merge'))
32 sourceName=names.Fixed.pN+name
44 leftOperand=util.vOf(
'a')
48 rightOperand=util.vOf(
'b')
56 print >> sys.stderr,
'ERROR: generateAddSubBody: no logic for name '+name
59 if not parameters.useQueue:
63 for direct
in range(1, parameters.sliceSize+1):
64 for deg
in range(1,parameters.o+1):
66 aLHS=util.dOf(util.getVarGlobalName(
'r'),direct,deg)
67 if leftActive
and not(rightActive):
68 aRHS=util.dOf(
'a',direct,deg)
69 elif not(leftActive)
and rightActive:
70 aRHS=util.dOf(
'b',direct,deg)
73 elif leftActive
and rightActive:
74 leftOperand=util.dOf(
'a',direct,deg)
75 rightOperand=util.dOf(
'b',direct,deg)
81 print >> sys.stderr,
'ERROR: generateAddSubBody: leftActive and rightActive cannot both be false'
92 sourceList.append(helper.generateBinaryIntrinsicReverse(
'add',
'+',{},[],
False,
False,
False,
'merge',getStatementAA,getStatementAP,getStatementPA))
93 sourceList.append(helper.generateBinaryIntrinsicReverse(
'sub',
'-',{},[],
False,
False,
False,
'merge',getStatementAA,getStatementAP,getStatementPA))
96 leftOperand=util.vOf(
'a')
97 rightOperand=util.vOf(
'b')
107 print >> sys.stderr,
'ERROR: generateAddSubBody: no logic for name '+name
110 aSource.appendChild(helper.generatePushBinaryLocal(da,db,kl,kr,resultTypes,
'r','a','b'))
114 leftOperand=util.vOf(
'a')
123 print >> sys.stderr,
'ERROR: generateAddSubBody: no logic for name '+name
126 aSource.appendChild(helper.generatePushUnaryLocal(da,kl,resultTypes,
'r','a'))
131 rightOperand=util.vOf(
'b')
140 print >> sys.stderr,
'ERROR: generateAddSubBody: no logic for name '+name
143 aSource.appendChild(helper.generatePushUnaryLocal(db,kr,resultTypes,
'r','b'))