/* Generated automatically by the program `genattrtab' from the machine description file `md'. */ #define IN_TARGET_CODE 1 #include "config.h" #include "system.h" #include "coretypes.h" #include "backend.h" #include "predict.h" #include "tree.h" #include "rtl.h" #include "alias.h" #include "options.h" #include "varasm.h" #include "stor-layout.h" #include "calls.h" #include "insn-attr.h" #include "memmodel.h" #include "tm_p.h" #include "insn-config.h" #include "recog.h" #include "regs.h" #include "real.h" #include "output.h" #include "toplev.h" #include "flags.h" #include "emit-rtl.h" #define operands recog_data.operand int insn_default_latency (rtx_insn *insn ATTRIBUTE_UNUSED) { enum attr_type cached_type ATTRIBUTE_UNUSED; enum attr_mode cached_mode ATTRIBUTE_UNUSED; switch (recog_memoized (insn)) { case 301: /* *zero_extendhidi2_zbb */ case 300: /* *zero_extendhisi2_zbb */ case 299: /* *extendhidi2_zbb */ case 298: /* *extendhisi2_zbb */ case 297: /* *extendhihi2_zbb */ case 296: /* *extendqidi2_zbb */ case 295: /* *extendqisi2_zbb */ case 294: /* *extendqihi2_zbb */ case 293: /* *zero_extendhidi2_bitmanip */ case 292: /* *zero_extendhisi2_bitmanip */ case 271: /* *zero_extendsidi2_bitmanip */ extract_constrain_insn_cached (insn); if ((which_alternative == 1) && (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) || ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))))) { return 3; } else { return 0; } case 339: /* *bexti */ case 338: /* *bexti */ case 337: /* *bextdi */ case 336: /* *bextsi */ case 335: /* *binvidi */ case 334: /* *binvisi */ case 333: /* *binvdi */ case 332: /* *binvsi */ case 331: /* *bclridi */ case 330: /* *bclrisi */ case 329: /* *bclrdi */ case 328: /* *bclrsi */ case 327: /* *bsetidi */ case 326: /* *bsetisi */ case 325: /* *bsetdi_1_mask */ case 324: /* *bsetsi_1_mask */ case 323: /* *bsetdi_1 */ case 322: /* *bsetsi_1 */ case 321: /* *bsetdi_mask */ case 320: /* *bsetsi_mask */ case 319: /* *bsetdi */ case 318: /* *bsetsi */ case 317: /* umaxdi3 */ case 316: /* smaxdi3 */ case 315: /* umindi3 */ case 314: /* smindi3 */ case 313: /* umaxsi3 */ case 312: /* smaxsi3 */ case 311: /* uminsi3 */ case 310: /* sminsi3 */ case 309: /* bswapdi2 */ case 308: /* bswapsi2 */ case 307: /* rotlsi3_sext */ case 306: /* rotldi3 */ case 305: /* rotlsi3 */ case 304: /* rotrsi3_sext */ case 303: /* rotrdi3 */ case 302: /* rotrsi3 */ case 291: /* popcountdi2 */ case 290: /* ctzdi2 */ case 289: /* clzdi2 */ case 288: /* *popcountdisi2 */ case 287: /* *ctzdisi2 */ case 286: /* *clzdisi2 */ case 285: /* popcountsi2 */ case 284: /* ctzsi2 */ case 283: /* clzsi2 */ case 282: /* *xor_notdi */ case 281: /* *xor_notsi */ case 280: /* *ior_notdi */ case 279: /* *and_notdi */ case 278: /* *ior_notsi */ case 277: /* *and_notsi */ case 276: /* *slliuw */ case 275: /* *add.uw */ case 274: /* *shNadduw */ case 273: /* *shNadd */ case 272: /* *shNadd */ case 245: /* blockage */ return 0; case 185: /* *movdidicc */ case 184: /* *movsidicc */ case 183: /* *movsisicc */ if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) { return 2; } else { return 0; } case 255: /* nop */ case 254: /* call_value_internal */ case 253: /* call_internal */ case 252: /* sibcall_value_internal */ case 251: /* sibcall_internal */ case 247: /* simple_return_internal */ case 246: /* simple_return */ case 244: /* tablejumpdi */ case 243: /* tablejumpsi */ case 242: /* indirect_jumpdi */ case 241: /* indirect_jumpsi */ case 240: /* jump */ case 182: /* *branchdi */ case 181: /* *branchsi */ case 131: /* auipcdi */ case 130: /* auipcsi */ if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) || ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7))))) { return 1; } else { return 0; } case 209: /* *fle_quietdfdi4_snan */ case 208: /* *flt_quietdfdi4_snan */ case 207: /* *fle_quietdfsi4_snan */ case 206: /* *flt_quietdfsi4_snan */ case 205: /* *fle_quietsfdi4_snan */ case 204: /* *flt_quietsfdi4_snan */ case 203: /* *fle_quietsfsi4_snan */ case 202: /* *flt_quietsfsi4_snan */ case 201: /* *fle_quietdfdi4_default */ case 200: /* *flt_quietdfdi4_default */ case 199: /* *fle_quietdfsi4_default */ case 198: /* *flt_quietdfsi4_default */ case 197: /* *fle_quietsfdi4_default */ case 196: /* *flt_quietsfdi4_default */ case 195: /* *fle_quietsfsi4_default */ case 194: /* *flt_quietsfsi4_default */ case 193: /* *cstoredfdi4 */ case 192: /* *cstoredfsi4 */ case 191: /* *cstoresfdi4 */ case 190: /* *cstoresfsi4 */ case 129: /* got_load_tls_iedi */ case 128: /* got_load_tls_iesi */ case 127: /* got_load_tls_gddi */ case 126: /* got_load_tls_gdsi */ case 123: /* got_loaddi */ case 122: /* got_loadsi */ case 121: /* lrounddfdi2 */ case 120: /* lrintdfdi2 */ case 119: /* lrounddfsi2 */ case 118: /* lrintdfsi2 */ case 117: /* lroundsfdi2 */ case 116: /* lrintsfdi2 */ case 115: /* lroundsfsi2 */ case 114: /* lrintsfsi2 */ case 113: /* floatunsdidf2 */ case 112: /* floatunssidf2 */ case 111: /* floatunsdisf2 */ case 110: /* floatunssisf2 */ case 109: /* floatdidf2 */ case 108: /* floatsidf2 */ case 107: /* floatdisf2 */ case 106: /* floatsisf2 */ case 105: /* fixuns_truncdfdi2 */ case 104: /* fixuns_truncdfsi2 */ case 103: /* fixuns_truncsfdi2 */ case 102: /* fixuns_truncsfsi2 */ case 101: /* fix_truncdfdi2 */ case 100: /* fix_truncdfsi2 */ case 99: /* fix_truncsfdi2 */ case 98: /* fix_truncsfsi2 */ case 97: /* extendsfdf2 */ case 83: /* truncdfsf2 */ case 70: /* smaxdf3 */ case 69: /* smaxsf3 */ case 68: /* smindf3 */ case 67: /* sminsf3 */ case 66: /* negdf2 */ case 65: /* negsf2 */ case 64: /* copysigndf3 */ case 63: /* copysignsf3 */ case 62: /* absdf2 */ case 61: /* abssf2 */ if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) || ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7))))) { return 3; } else { return 0; } case 44: /* sqrtdf2 */ if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) { return 25 /* 0x19 */; } else if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) { return 56 /* 0x38 */; } else { return 0; } case 43: /* sqrtsf2 */ if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) { return 25 /* 0x19 */; } else if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) { return 27 /* 0x1b */; } else { return 0; } case 42: /* divdf3 */ if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) { return 20 /* 0x14 */; } else if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) { return 56 /* 0x38 */; } else { return 0; } case 41: /* divsf3 */ if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) { return 20 /* 0x14 */; } else if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) { return 27 /* 0x1b */; } else { return 0; } case 40: /* *umodsi3_extended */ case 39: /* *modsi3_extended */ case 38: /* *udivsi3_extended */ case 37: /* *divsi3_extended */ case 36: /* umoddi3 */ case 35: /* moddi3 */ case 34: /* udivdi3 */ case 33: /* divdi3 */ if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) { return 66 /* 0x42 */; } else if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) { return 16 /* 0x10 */; } else { return 0; } case 32: /* umodsi3 */ case 31: /* modsi3 */ case 30: /* udivsi3 */ case 29: /* divsi3 */ if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) { return 34 /* 0x22 */; } else if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) { return 16 /* 0x10 */; } else { return 0; } case 28: /* usmulsi3_highpart */ case 27: /* umulsi3_highpart */ case 26: /* smulsi3_highpart */ case 25: /* usmuldi3_highpart */ case 24: /* umuldi3_highpart */ case 23: /* smuldi3_highpart */ case 22: /* *mulsi3_extended2 */ case 21: /* *mulsi3_extended */ case 20: /* muldi3 */ case 19: /* mulsi3 */ if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) { return 10 /* 0xa */; } else if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) { return 3; } else { return 0; } case 60: /* *fnmadf4 */ case 58: /* *fnmsdf4 */ case 56: /* *fmsdf4 */ case 54: /* *fmadf4 */ case 52: /* fnmadf4 */ case 50: /* fnmsdf4 */ case 48: /* fmsdf4 */ case 46: /* fmadf4 */ case 18: /* muldf3 */ case 8: /* subdf3 */ case 2: /* adddf3 */ if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) || ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7))))) { return 7; } else { return 0; } case 59: /* *fnmasf4 */ case 57: /* *fnmssf4 */ case 55: /* *fmssf4 */ case 53: /* *fmasf4 */ case 51: /* fnmasf4 */ case 49: /* fnmssf4 */ case 47: /* fmssf4 */ case 45: /* fmasf4 */ case 17: /* mulsf3 */ case 7: /* subsf3 */ case 1: /* addsf3 */ if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) || ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7))))) { return 5; } else { return 0; } case -1: if (GET_CODE (PATTERN (insn)) != ASM_INPUT && asm_noperands (PATTERN (insn)) < 0) fatal_insn_not_found (insn); /* FALLTHRU */ case 84: /* *zero_extendsidi2_internal */ case 85: /* *zero_extendhisi2 */ case 86: /* *zero_extendhidi2 */ case 87: /* zero_extendqihi2 */ case 88: /* zero_extendqisi2 */ case 89: /* zero_extendqidi2 */ case 90: /* extendsidi2 */ case 91: /* *extendqihi2 */ case 92: /* *extendqisi2 */ case 93: /* *extendqidi2 */ case 94: /* *extendhihi2 */ case 95: /* *extendhisi2 */ case 96: /* *extendhidi2 */ case 134: /* *movdi_32bit */ case 135: /* *movdi_64bit */ case 136: /* *movsi_internal */ case 137: /* *movhi_internal */ case 142: /* *movqi_internal */ case 143: /* *movsf_hardfloat */ case 144: /* *movsf_softfloat */ case 145: /* *movdf_hardfloat_rv32 */ case 146: /* *movdf_hardfloat_rv64 */ case 147: /* *movdf_softfloat */ if ((cached_type = get_attr_type (insn)) == TYPE_GHOST) { return 0; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) && ((cached_type == TYPE_UNKNOWN) || (cached_type == TYPE_CONST) || (cached_type == TYPE_ARITH) || (cached_type == TYPE_SHIFT) || (cached_type == TYPE_SLT) || (cached_type == TYPE_MULTI) || (cached_type == TYPE_AUIPC) || (cached_type == TYPE_NOP) || (cached_type == TYPE_LOGICAL) || (cached_type == TYPE_MOVE))) { return 1; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) && ((cached_type == TYPE_LOAD) || (cached_type == TYPE_FPLOAD))) { return 3; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) && ((cached_type == TYPE_STORE) || (cached_type == TYPE_FPSTORE))) { return 1; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) && ((cached_type == TYPE_MFC) || (cached_type == TYPE_MTC) || (cached_type == TYPE_FCVT) || (cached_type == TYPE_FMOVE) || (cached_type == TYPE_FCMP))) { return 3; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) && ((cached_type == TYPE_BRANCH) || (cached_type == TYPE_JUMP) || (cached_type == TYPE_CALL))) { return 1; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) && (cached_type == TYPE_IMUL)) { return 10 /* 0xa */; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) && (cached_type == TYPE_IDIV) && ((cached_mode = get_attr_mode (insn)) == MODE_SI)) { return 34 /* 0x22 */; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) && (cached_type == TYPE_IDIV) && ((cached_mode = get_attr_mode (insn)) == MODE_DI)) { return 66 /* 0x42 */; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) && ((cached_type == TYPE_FADD) || (cached_type == TYPE_FMUL) || (cached_type == TYPE_FMADD)) && ((cached_mode = get_attr_mode (insn)) == MODE_SF)) { return 5; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) && ((cached_type == TYPE_FADD) || (cached_type == TYPE_FMUL) || (cached_type == TYPE_FMADD)) && ((cached_mode = get_attr_mode (insn)) == MODE_DF)) { return 7; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) && (cached_type == TYPE_FDIV)) { return 20 /* 0x14 */; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) && (cached_type == TYPE_FSQRT)) { return 25 /* 0x19 */; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && (cached_type == TYPE_LOAD)) { return 3; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && (cached_type == TYPE_FPLOAD)) { return 2; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && (cached_type == TYPE_STORE)) { return 1; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && (cached_type == TYPE_FPSTORE)) { return 1; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && (cached_type == TYPE_BRANCH)) { return 1; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && (cached_type == TYPE_SFB_ALU)) { return 2; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && ((cached_type == TYPE_JUMP) || (cached_type == TYPE_CALL))) { return 1; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && (cached_type == TYPE_IMUL)) { return 3; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && (cached_type == TYPE_IDIV)) { return 16 /* 0x10 */; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && ((cached_type == TYPE_UNKNOWN) || (cached_type == TYPE_ARITH) || (cached_type == TYPE_SHIFT) || (cached_type == TYPE_SLT) || (cached_type == TYPE_MULTI) || (cached_type == TYPE_LOGICAL) || (cached_type == TYPE_MOVE))) { return 2; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && ((cached_type == TYPE_NOP) || (cached_type == TYPE_CONST) || (cached_type == TYPE_AUIPC))) { return 1; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && ((cached_type == TYPE_FADD) || (cached_type == TYPE_FMUL) || (cached_type == TYPE_FMADD)) && ((cached_mode = get_attr_mode (insn)) == MODE_SF)) { return 5; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && ((cached_type == TYPE_FADD) || (cached_type == TYPE_FMUL) || (cached_type == TYPE_FMADD)) && ((cached_mode = get_attr_mode (insn)) == MODE_DF)) { return 7; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && ((cached_type == TYPE_FCVT) || (cached_type == TYPE_FCMP) || (cached_type == TYPE_FMOVE))) { return 3; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && ((cached_type == TYPE_FDIV) || (cached_type == TYPE_FSQRT)) && ((cached_mode = get_attr_mode (insn)) == MODE_SF)) { return 27 /* 0x1b */; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && ((cached_type == TYPE_FDIV) || (cached_type == TYPE_FSQRT)) && ((cached_mode = get_attr_mode (insn)) == MODE_DF)) { return 56 /* 0x38 */; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && (cached_type == TYPE_MTC)) { return 3; } else if (((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) && (cached_type == TYPE_MFC)) { return 3; } else { return 0; } default: if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_GENERIC)))) { return 1; } else if ((( #line 258 "/home/seti/riscv-gnu-toolchain/gcc/gcc/config/riscv/riscv.md" (((enum attr_tune) riscv_microarchitecture))) == ( (TUNE_SIFIVE_7)))) { return 2; } else { return 0; } } }