C++ 20 Unevaluated asm-declaration in constexpr functions

Unevaluated asm-declaration
in constexpr functions
asm 키워드
asm 키워드는 인라인 어셈블리(Inline Assembly)를
작성하기 위해 사용됩니다. 인라인 어셈블리는
프로그램 소스 코드에 직접 어셈블리 코드를 삽입할
수 있게 해주는 기능입니다. 이를 통해 개발자는 C++
코드 내에서 저수준 작업을 수행하거나, 최적화를
하거나, 특정 하드웨어 기능을 사용할 수 있습니다.
예제는 제 컴터 기준으로 작성된 코드(인텔)
constexpr 함수의 정의에 asm-정의를
포함시키는 것을 허용하여 constexpr
내에서 평가되지 않는 경우에도 이를
사용할 수 있도록 하는 것을 제안
1 von 3

Recomendados

C++ 20 class template argument deduction for alias templates von
C++ 20 class template argument deduction for alias templatesC++ 20 class template argument deduction for alias templates
C++ 20 class template argument deduction for alias templates진화 손
3 views3 Folien
C++ 20 Make stateful allocator propagation more consistent for operator+(basi... von
C++ 20 Make stateful allocator propagation more consistent for operator+(basi...C++ 20 Make stateful allocator propagation more consistent for operator+(basi...
C++ 20 Make stateful allocator propagation more consistent for operator+(basi...진화 손
5 views5 Folien
C++20 Utility functions to implement uses-allocator construction.pdf von
C++20 Utility functions to implement uses-allocator construction.pdfC++20 Utility functions to implement uses-allocator construction.pdf
C++20 Utility functions to implement uses-allocator construction.pdf진화 손
7 views9 Folien
C++ 20 std__reference_wrapper for incomplete types von
C++ 20 std__reference_wrapper for incomplete typesC++ 20 std__reference_wrapper for incomplete types
C++ 20 std__reference_wrapper for incomplete types진화 손
8 views2 Folien
C++ 20 Stronger Unicode requirements von
C++ 20 Stronger Unicode requirementsC++ 20 Stronger Unicode requirements
C++ 20 Stronger Unicode requirements진화 손
5 views2 Folien
C++20 Concepts library von
C++20 Concepts libraryC++20 Concepts library
C++20 Concepts library진화 손
3 views9 Folien

Más contenido relacionado

Más de 진화 손

C++ 20 Relaxing the structured bindings customization point finding rules von
C++ 20 Relaxing the structured bindings customization point finding rulesC++ 20 Relaxing the structured bindings customization point finding rules
C++ 20 Relaxing the structured bindings customization point finding rules진화 손
7 views4 Folien
C++20 explicit(bool) von
C++20 explicit(bool)C++20 explicit(bool)
C++20 explicit(bool)진화 손
6 views3 Folien
C++20 std::map::contains von
C++20 std::map::containsC++20 std::map::contains
C++20 std::map::contains진화 손
5 views3 Folien
C++20 Comparing unordered containers von
C++20 Comparing unordered containersC++20 Comparing unordered containers
C++20 Comparing unordered containers진화 손
8 views6 Folien
C++20 Attributes [[likely]] and [[unlikely]] von
C++20 Attributes [[likely]] and [[unlikely]]C++20 Attributes [[likely]] and [[unlikely]]
C++20 Attributes [[likely]] and [[unlikely]]진화 손
21 views4 Folien
C++ 20 Lambdas in unevaluated contexts von
C++ 20 Lambdas in unevaluated contextsC++ 20 Lambdas in unevaluated contexts
C++ 20 Lambdas in unevaluated contexts진화 손
4 views9 Folien

Más de 진화 손(20)

C++ 20 Relaxing the structured bindings customization point finding rules von 진화 손
C++ 20 Relaxing the structured bindings customization point finding rulesC++ 20 Relaxing the structured bindings customization point finding rules
C++ 20 Relaxing the structured bindings customization point finding rules
진화 손7 views
C++20 explicit(bool) von 진화 손
C++20 explicit(bool)C++20 explicit(bool)
C++20 explicit(bool)
진화 손6 views
C++20 std::map::contains von 진화 손
C++20 std::map::containsC++20 std::map::contains
C++20 std::map::contains
진화 손5 views
C++20 Comparing unordered containers von 진화 손
C++20 Comparing unordered containersC++20 Comparing unordered containers
C++20 Comparing unordered containers
진화 손8 views
C++20 Attributes [[likely]] and [[unlikely]] von 진화 손
C++20 Attributes [[likely]] and [[unlikely]]C++20 Attributes [[likely]] and [[unlikely]]
C++20 Attributes [[likely]] and [[unlikely]]
진화 손21 views
C++ 20 Lambdas in unevaluated contexts von 진화 손
C++ 20 Lambdas in unevaluated contextsC++ 20 Lambdas in unevaluated contexts
C++ 20 Lambdas in unevaluated contexts
진화 손4 views
C++20 Library support for operator<=> <compare> von 진화 손
C++20 Library support for operator<=> <compare>C++20 Library support for operator<=> <compare>
C++20 Library support for operator<=> <compare>
진화 손2 views
C++20 const mismatch with defaulted copy constructor von 진화 손
C++20 const mismatch with defaulted copy constructorC++20 const mismatch with defaulted copy constructor
C++20 const mismatch with defaulted copy constructor
진화 손5 views
C++20 Atomic std::shared_ptr and std::weak_ptr von 진화 손
C++20 Atomic std::shared_ptr and std::weak_ptrC++20 Atomic std::shared_ptr and std::weak_ptr
C++20 Atomic std::shared_ptr and std::weak_ptr
진화 손11 views
C++20 Default member initializers for bit-fields von 진화 손
C++20 Default member initializers for bit-fieldsC++20 Default member initializers for bit-fields
C++20 Default member initializers for bit-fields
진화 손10 views
C++ 20 constexpr for algorithm and utility von 진화 손
C++ 20 constexpr for  algorithm and utilityC++ 20 constexpr for  algorithm and utility
C++ 20 constexpr for algorithm and utility
진화 손8 views
C++17 init-statements for if and switch von 진화 손
C++17 init-statements for if and switchC++17 init-statements for if and switch
C++17 init-statements for if and switch
진화 손9 views
C++17 Aggregate classes with base classes von 진화 손
C++17 Aggregate classes with base classesC++17 Aggregate classes with base classes
C++17 Aggregate classes with base classes
진화 손8 views
C++17 std::byte von 진화 손
C++17 std::byteC++17 std::byte
C++17 std::byte
진화 손108 views
C++17 Dynamic memory allocation for over-aligned data von 진화 손
C++17 Dynamic memory allocation for over-aligned dataC++17 Dynamic memory allocation for over-aligned data
C++17 Dynamic memory allocation for over-aligned data
진화 손18 views
C++17 return type of emplace_ functions of some containers changed from void ... von 진화 손
C++17 return type of emplace_ functions of some containers changed from void ...C++17 return type of emplace_ functions of some containers changed from void ...
C++17 return type of emplace_ functions of some containers changed from void ...
진화 손4 views
C++17 [[fallthrough]] attribute von 진화 손
C++17 [[fallthrough]] attributeC++17 [[fallthrough]] attribute
C++17 [[fallthrough]] attribute
진화 손7 views
C++ 17 __has_include in preprocessor conditionals von 진화 손
C++ 17 __has_include in preprocessor conditionalsC++ 17 __has_include in preprocessor conditionals
C++ 17 __has_include in preprocessor conditionals
진화 손5 views
C++17 Folding expressions von 진화 손
C++17 Folding expressionsC++17 Folding expressions
C++17 Folding expressions
진화 손3 views

C++ 20 Unevaluated asm-declaration in constexpr functions

  • 2. asm 키워드 asm 키워드는 인라인 어셈블리(Inline Assembly)를 작성하기 위해 사용됩니다. 인라인 어셈블리는 프로그램 소스 코드에 직접 어셈블리 코드를 삽입할 수 있게 해주는 기능입니다. 이를 통해 개발자는 C++ 코드 내에서 저수준 작업을 수행하거나, 최적화를 하거나, 특정 하드웨어 기능을 사용할 수 있습니다. 예제는 제 컴터 기준으로 작성된 코드(인텔)
  • 3. constexpr 함수의 정의에 asm-정의를 포함시키는 것을 허용하여 constexpr 내에서 평가되지 않는 경우에도 이를 사용할 수 있도록 하는 것을 제안