def block(self, d, a, value): code = self.get_active_code() temp = code.prgm.acquire_register((value, value, value, value)) code.add( cal.ishl(d, a, temp) ) # documentation says temp is 'scalar' with all components the same code.prgm.release_register(temp) return
def FF(a1, b1, c1, d1, x1, s1, ac1): global xcode l = xcode.acquire_register((ac1, ac1, ac1, ac1)) temp1 = xcode.acquire_register() temp2 = xcode.acquire_register() F(b1, c1, d1, temp1) cal.iadd(a1, a1, temp1) cal.iadd(a1, a1, x1) cal.iadd(a1, a1, l) cal.ishl(temp1, a1, s1) cal.ushr(temp2, a1, s1(neg=('x', 'y', 'z', 'w'))) cal.ior(a1, temp1, temp2) cal.iadd(a1, a1, b1) xcode.release_register(l) xcode.release_register(temp1) xcode.release_register(temp2)