// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package arm64

// This order should be strictly consistent to that in a.out.go
var cnames7 = []string{
	"NONE",
	"REG",
	"RSP",
	"FREG",
	"VREG",
	"PAIR",
	"SHIFT",
	"EXTREG",
	"SPR",
	"COND",
	"ARNG",
	"ELEM",
	"LIST",
	"ZCON",
	"ABCON0",
	"ADDCON0",
	"ABCON",
	"AMCON",
	"ADDCON",
	"MBCON",
	"MOVCON",
	"BITCON",
	"ADDCON2",
	"LCON",
	"MOVCON2",
	"MOVCON3",
	"VCON",
	"FCON",
	"VCONADDR",
	"AACON",
	"AACON2",
	"LACON",
	"AECON",
	"SBRA",
	"LBRA",
	"ZAUTO",
	"NSAUTO_8",
	"NSAUTO_4",
	"NSAUTO",
	"NPAUTO",
	"NAUTO4K",
	"PSAUTO_8",
	"PSAUTO_4",
	"PSAUTO",
	"PPAUTO",
	"UAUTO4K_16",
	"UAUTO4K_8",
	"UAUTO4K_4",
	"UAUTO4K_2",
	"UAUTO4K",
	"UAUTO8K_16",
	"UAUTO8K_8",
	"UAUTO8K_4",
	"UAUTO8K",
	"UAUTO16K_16",
	"UAUTO16K_8",
	"UAUTO16K",
	"UAUTO32K_8",
	"UAUTO32K",
	"UAUTO64K",
	"LAUTO",
	"SEXT1",
	"SEXT2",
	"SEXT4",
	"SEXT8",
	"SEXT16",
	"LEXT",
	"ZOREG",
	"NSOREG_8",
	"NSOREG_4",
	"NSOREG",
	"NPOREG",
	"NOREG4K",
	"PSOREG_8",
	"PSOREG_4",
	"PSOREG",
	"PPOREG",
	"UOREG4K_16",
	"UOREG4K_8",
	"UOREG4K_4",
	"UOREG4K_2",
	"UOREG4K",
	"UOREG8K_16",
	"UOREG8K_8",
	"UOREG8K_4",
	"UOREG8K",
	"UOREG16K_16",
	"UOREG16K_8",
	"UOREG16K",
	"UOREG32K_16",
	"UOREG32K",
	"UOREG64K",
	"LOREG",
	"ADDR",
	"GOTADDR",
	"TLS_LE",
	"TLS_IE",
	"ROFF",
	"GOK",
	"TEXTSIZE",
	"NCLASS",
}
