decoder_output = ""
     exec_output = ""
 
+    calcGECode = '''
+        CondCodes = insertBits(CondCodes, 19, 16, resTemp);
+    '''
+
     calcQCode = '''
         CondCodes = CondCodes | ((resTemp & 1) << 27);
     '''
             negBit = 63
         if flagType == "saturate":
             immCcCode = calcQCode
+        elif flagType == "ge":
+            immCcCode = calcGECode
         else:
             immCcCode = calcCcCode % {
                 "icValue": secondOpRe.sub(immOp2, cCode[0]),
             negBit = 63
         if flagType == "saturate":
             regCcCode = calcQCode
+        elif flagType == "ge":
+            immCcCode = calcGECode
         else:
             regCcCode = calcCcCode % {
                 "icValue": secondOpRe.sub(regOp2, cCode[1]),
             negBit = 63
         if flagType == "saturate":
             regRegCcCode = calcQCode
+        elif flagType == "ge":
+            immCcCode = calcGECode
         else:
             regRegCcCode = calcCcCode % {
                 "icValue": secondOpRe.sub(regRegOp2, cCode[2]),