return;
 
    for (unsigned i = 0; i < sizeof(inst) / sizeof(inst[0]); i++) {
+      if (!devinfo.has_64bit_types &&
+          (type_sz(inst[i].dst_type) == 8 || type_sz(inst[i].src_type) == 8))
+         continue;
+
       if (inst[i].opcode == BRW_OPCODE_MOV) {
          brw_MOV(p, retype(g0, inst[i].dst_type),
                     retype(g0, inst[i].src_type));
       return;
 
    for (unsigned i = 0; i < sizeof(inst) / sizeof(inst[0]); i++) {
+      if (!devinfo.has_64bit_types &&
+          (type_sz(inst[i].dst_type) == 8 || type_sz(inst[i].src_type) == 8))
+         continue;
+
       if (inst[i].opcode == BRW_OPCODE_MOV) {
          brw_MOV(p, retype(g0, inst[i].dst_type),
                     retype(g0, inst[i].src_type));
       return;
 
    for (unsigned i = 0; i < sizeof(inst) / sizeof(inst[0]); i++) {
+      if (!devinfo.has_64bit_types &&
+          (type_sz(inst[i].dst_type) == 8 || type_sz(inst[i].src_type) == 8))
+         continue;
+
       if (inst[i].opcode == BRW_OPCODE_MOV) {
          brw_MOV(p, retype(inst[i].dst, inst[i].dst_type),
                     retype(inst[i].src, inst[i].src_type));
       clear_instructions(p);
    }
 
+   if (!devinfo.has_64bit_types)
+      return;
+
    /* MAC implicitly reads the accumulator */
    brw_MAC(p, retype(g0, BRW_REGISTER_TYPE_DF),
               retype(stride(g0, 4, 4, 1), BRW_REGISTER_TYPE_DF),
       return;
 
    for (unsigned i = 0; i < sizeof(inst) / sizeof(inst[0]); i++) {
+      if (!devinfo.has_64bit_types &&
+          (type_sz(inst[i].dst_type) == 8 || type_sz(inst[i].src_type) == 8))
+         continue;
+
       if (inst[i].opcode == BRW_OPCODE_MOV) {
          brw_MOV(p, retype(g0, inst[i].dst_type),
                     retype(g0, inst[i].src_type));