127 lines · plain
1; RUN: llc < %s -mcpu=mvp | FileCheck %s --check-prefixes MVP2; RUN: llc < %s -mcpu=generic | FileCheck %s --check-prefixes GENERIC3; RUN: llc < %s -mcpu=lime1 | FileCheck %s --check-prefixes LIME14; RUN: llc < %s | FileCheck %s --check-prefixes GENERIC5; RUN: llc < %s -mcpu=bleeding-edge | FileCheck %s --check-prefixes BLEEDING-EDGE6 7; Test that the target features section contains the correct set of features8; depending on -mcpu= options.9 10target triple = "wasm32-unknown-unknown"11 12; mvp: should not contain the target features section13; MVP-NOT: .custom_section.target_features,"",@14 15; generic: +call-indirect-overlong, +multivalue, +mutable-globals, +reference-types, +sign-ext16; GENERIC-LABEL: .custom_section.target_features,"",@17; GENERIC-NEXT: .int8 818; GENERIC-NEXT: .int8 4319; GENERIC-NEXT: .int8 1120; GENERIC-NEXT: .ascii "bulk-memory"21; GENERIC-NEXT: .int8 4322; GENERIC-NEXT: .int8 1523; GENERIC-NEXT: .ascii "bulk-memory-opt"24; GENERIC-NEXT: .int8 4325; GENERIC-NEXT: .int8 2226; GENERIC-NEXT: .ascii "call-indirect-overlong"27; GENERIC-NEXT: .int8 4328; GENERIC-NEXT: .int8 1029; GENERIC-NEXT: .ascii "multivalue"30; GENERIC-NEXT: .int8 4331; GENERIC-NEXT: .int8 1532; GENERIC-NEXT: .ascii "mutable-globals"33; GENERIC-NEXT: .int8 4334; GENERIC-NEXT: .int8 1935; GENERIC-NEXT: .ascii "nontrapping-fptoint"36; GENERIC-NEXT: .int8 4337; GENERIC-NEXT: .int8 1538; GENERIC-NEXT: .ascii "reference-types"39; GENERIC-NEXT: .int8 4340; GENERIC-NEXT: .int8 841; GENERIC-NEXT: .ascii "sign-ext"42 43; lime1: +bulk-memory-opt, +call-indirect-overlong, +extended-const, +multivalue,44; +mutable-globals, +nontrapping-fptoint, +sign-ext45; LIME1-LABEL: .custom_section.target_features,"",@46; LIME1-NEXT: .int8 747; LIME1-NEXT: .int8 4348; LIME1-NEXT: .int8 1549; LIME1-NEXT: .ascii "bulk-memory-opt"50; LIME1-NEXT: .int8 4351; LIME1-NEXT: .int8 2252; LIME1-NEXT: .ascii "call-indirect-overlong"53; LIME1-NEXT: .int8 4354; LIME1-NEXT: .int8 1455; LIME1-NEXT: .ascii "extended-const"56; LIME1-NEXT: .int8 4357; LIME1-NEXT: .int8 1058; LIME1-NEXT: .ascii "multivalue"59; LIME1-NEXT: .int8 4360; LIME1-NEXT: .int8 1561; LIME1-NEXT: .ascii "mutable-globals"62; LIME1-NEXT: .int8 4363; LIME1-NEXT: .int8 1964; LIME1-NEXT: .ascii "nontrapping-fptoint"65; LIME1-NEXT: .int8 4366; LIME1-NEXT: .int8 867; LIME1-NEXT: .ascii "sign-ext"68 69; bleeding-edge: +atomics, +bulk-memory, +bulk-memory-opt,70; +call-indirect-overlong, +exception-handling,71; +extended-const, +fp16, +gc, +multimemory, +multivalue,72; +mutable-globals, +nontrapping-fptoint, +relaxed-simd,73; +reference-types, +simd128, +sign-ext, +tail-call74; BLEEDING-EDGE-LABEL: .section .custom_section.target_features,"",@75; BLEEDING-EDGE-NEXT: .int8 1776; BLEEDING-EDGE-NEXT: .int8 4377; BLEEDING-EDGE-NEXT: .int8 778; BLEEDING-EDGE-NEXT: .ascii "atomics"79; BLEEDING-EDGE-NEXT: .int8 4380; BLEEDING-EDGE-NEXT: .int8 1181; BLEEDING-EDGE-NEXT: .ascii "bulk-memory"82; BLEEDING-EDGE-NEXT: .int8 4383; BLEEDING-EDGE-NEXT: .int8 1584; BLEEDING-EDGE-NEXT: .ascii "bulk-memory-opt"85; BLEEDING-EDGE-NEXT: .int8 4386; BLEEDING-EDGE-NEXT: .int8 2287; BLEEDING-EDGE-NEXT: .ascii "call-indirect-overlong"88; BLEEDING-EDGE-NEXT: .int8 4389; BLEEDING-EDGE-NEXT: .int8 1890; BLEEDING-EDGE-NEXT: .ascii "exception-handling"91; BLEEDING-EDGE-NEXT: .int8 4392; BLEEDING-EDGE-NEXT: .int8 1493; BLEEDING-EDGE-NEXT: .ascii "extended-const"94; BLEEDING-EDGE-NEXT: .int8 4395; BLEEDING-EDGE-NEXT: .int8 496; BLEEDING-EDGE-NEXT: .ascii "fp16"97; BLEEDING-EDGE-NEXT: .int8 4398; BLEEDING-EDGE-NEXT: .int8 299; BLEEDING-EDGE-NEXT: .ascii "gc"100; BLEEDING-EDGE-NEXT: .int8 43101; BLEEDING-EDGE-NEXT: .int8 11102; BLEEDING-EDGE-NEXT: .ascii "multimemory"103; BLEEDING-EDGE-NEXT: .int8 43104; BLEEDING-EDGE-NEXT: .int8 10105; BLEEDING-EDGE-NEXT: .ascii "multivalue"106; BLEEDING-EDGE-NEXT: .int8 43107; BLEEDING-EDGE-NEXT: .int8 15108; BLEEDING-EDGE-NEXT: .ascii "mutable-globals"109; BLEEDING-EDGE-NEXT: .int8 43110; BLEEDING-EDGE-NEXT: .int8 19111; BLEEDING-EDGE-NEXT: .ascii "nontrapping-fptoint"112; BLEEDING-EDGE-NEXT: .int8 43113; BLEEDING-EDGE-NEXT: .int8 15114; BLEEDING-EDGE-NEXT: .ascii "reference-types"115; BLEEDING-EDGE-NEXT: .int8 43116; BLEEDING-EDGE-NEXT: .int8 12117; BLEEDING-EDGE-NEXT: .ascii "relaxed-simd"118; BLEEDING-EDGE-NEXT: .int8 43119; BLEEDING-EDGE-NEXT: .int8 8120; BLEEDING-EDGE-NEXT: .ascii "sign-ext"121; BLEEDING-EDGE-NEXT: .int8 43122; BLEEDING-EDGE-NEXT: .int8 7123; BLEEDING-EDGE-NEXT: .ascii "simd128"124; BLEEDING-EDGE-NEXT: .int8 43125; BLEEDING-EDGE-NEXT: .int8 9126; BLEEDING-EDGE-NEXT: .ascii "tail-call"127