1 //===-- VETargetStreamer.cpp - VE Target Streamer Methods -----------------===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // This file provides VE specific target streamer methods. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #include "VETargetStreamer.h" 14 #include "VEInstPrinter.h" 15 16 using namespace llvm; 17 18 // pin vtable to this file VETargetStreamer(MCStreamer & S)19VETargetStreamer::VETargetStreamer(MCStreamer &S) : MCTargetStreamer(S) {} 20 anchor()21void VETargetStreamer::anchor() {} 22 VETargetAsmStreamer(MCStreamer & S,formatted_raw_ostream & OS)23VETargetAsmStreamer::VETargetAsmStreamer(MCStreamer &S, 24 formatted_raw_ostream &OS) 25 : VETargetStreamer(S), OS(OS) {} 26 emitVERegisterIgnore(unsigned reg)27void VETargetAsmStreamer::emitVERegisterIgnore(unsigned reg) { 28 OS << "\t.register " 29 << "%" << StringRef(VEInstPrinter::getRegisterName(reg)).lower() 30 << ", #ignore\n"; 31 } 32 emitVERegisterScratch(unsigned reg)33void VETargetAsmStreamer::emitVERegisterScratch(unsigned reg) { 34 OS << "\t.register " 35 << "%" << StringRef(VEInstPrinter::getRegisterName(reg)).lower() 36 << ", #scratch\n"; 37 } 38 VETargetELFStreamer(MCStreamer & S)39VETargetELFStreamer::VETargetELFStreamer(MCStreamer &S) : VETargetStreamer(S) {} 40 getStreamer()41MCELFStreamer &VETargetELFStreamer::getStreamer() { 42 return static_cast<MCELFStreamer &>(Streamer); 43 } 44