1356843Sdim//===-- VETargetStreamer.cpp - VE Target Streamer Methods -----------------===// 2356843Sdim// 3356843Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4356843Sdim// See https://llvm.org/LICENSE.txt for license information. 5356843Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6356843Sdim// 7356843Sdim//===----------------------------------------------------------------------===// 8356843Sdim// 9356843Sdim// This file provides VE specific target streamer methods. 10356843Sdim// 11356843Sdim//===----------------------------------------------------------------------===// 12356843Sdim 13356843Sdim#include "VETargetStreamer.h" 14356843Sdim#include "InstPrinter/VEInstPrinter.h" 15356843Sdim#include "llvm/Support/FormattedStream.h" 16356843Sdim 17356843Sdimusing namespace llvm; 18356843Sdim 19356843Sdim// pin vtable to this file 20356843SdimVETargetStreamer::VETargetStreamer(MCStreamer &S) : MCTargetStreamer(S) {} 21356843Sdim 22356843Sdimvoid VETargetStreamer::anchor() {} 23356843Sdim 24356843SdimVETargetAsmStreamer::VETargetAsmStreamer(MCStreamer &S, 25356843Sdim formatted_raw_ostream &OS) 26356843Sdim : VETargetStreamer(S), OS(OS) {} 27356843Sdim 28356843Sdimvoid VETargetAsmStreamer::emitVERegisterIgnore(unsigned reg) { 29356843Sdim OS << "\t.register " 30356843Sdim << "%" << StringRef(VEInstPrinter::getRegisterName(reg)).lower() 31356843Sdim << ", #ignore\n"; 32356843Sdim} 33356843Sdim 34356843Sdimvoid VETargetAsmStreamer::emitVERegisterScratch(unsigned reg) { 35356843Sdim OS << "\t.register " 36356843Sdim << "%" << StringRef(VEInstPrinter::getRegisterName(reg)).lower() 37356843Sdim << ", #scratch\n"; 38356843Sdim} 39356843Sdim 40356843SdimVETargetELFStreamer::VETargetELFStreamer(MCStreamer &S) : VETargetStreamer(S) {} 41356843Sdim 42356843SdimMCELFStreamer &VETargetELFStreamer::getStreamer() { 43356843Sdim return static_cast<MCELFStreamer &>(Streamer); 44356843Sdim} 45