##smulh_execute
bits(datasize) operand1 = X[n];
bits(datasize) operand2 = X[m];

integer result;

result = Int(operand1, true) * Int(operand2, true);

X[d] = result<127:64>;
@@
