You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

731 lines
22 KiB
C++

/* 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;
}
}
}