Compare commits

...

7 Commits

Author SHA1 Message Date
Gerrit User 1115898
274608ef0f Update patch set 4
Patch Set 4:

(3 comments)

Patch-set: 4
Attention: {"person_ident":"Gerrit User 1571352 \u003c1571352@3ce6091f-6c88-37e8-8c75-72f92ae8dfba\u003e","operation":"ADD","reason":"\u003cGERRIT_ACCOUNT_1115898\u003e replied on the change"}
2024-12-12 03:11:42 -08:00
Gerrit User 1115898
8c900e4d15 Create patch set 4
Change has been successfully rebased and submitted as 2d8652f3e7ba0427c2e72b086a787b96169e1466

Patch-set: 4
Patch-set-description: Rebase
Subject: [AArch64] Add SME implementation of CopyRow
Status: merged
Commit: 2d8652f3e7ba0427c2e72b086a787b96169e1466
Tag: autogenerated:gerrit:merged
Groups: 0ac245902e4cbe892c15f87c0ed905b19ffd097d
Label: Code-Review=+1, 9d52f3a807b209c466b47b5b0918e24e8dcb0d9f
Label: Code-Review=+1, ee40e95d0391856ab7ca2d0e53a9b0c17a039667 Gerrit User 1526622 <1526622@3ce6091f-6c88-37e8-8c75-72f92ae8dfba>
Label: SUBM=+1, 41eca84ccedf3084c98a4faef5ce47106de405af
Submission-id: 6074374
Submitted-with: OK
Submitted-with: Rule-Name: gerrit~DefaultSubmitRule
Submitted-with: MAY: Auto-Submit
Submitted-with: MAY: Code-Coverage
Submitted-with: MAY: Code-Review: Gerrit User 1115898 <1115898@3ce6091f-6c88-37e8-8c75-72f92ae8dfba>
Submitted-with: MAY: Commit-Queue
Submitted-with: MAY: Feels
Submitted-with: MAY: Bot-Commit
Submitted-with: MAY: Owners-Override
Submitted-with: OK
Submitted-with: Rule-Name: Code-Owners
Attention: {"person_ident":"Gerrit User 1571352 \u003c1571352@3ce6091f-6c88-37e8-8c75-72f92ae8dfba\u003e","operation":"REMOVE","reason":"Change was submitted"}
2024-12-12 03:02:07 -08:00
Gerrit User 1115898
e9cd5bd26b Update patch set 3
Patch-set: 3
Reviewer: Gerrit User 1115898 <1115898@3ce6091f-6c88-37e8-8c75-72f92ae8dfba>
Label: SUBM=+1, 37463107f44de266170d77032ea4fd051b2efb0e
2024-12-12 03:02:07 -08:00
Gerrit User 1115898
a13cb7b2fe Update patch set 3
Patch Set 3: Code-Review+1

Patch-set: 3
Label: Code-Review=+1, bc42f07a44673a8337ed30542c229138711daf48
Attention: {"person_ident":"Gerrit User 1571352 \u003c1571352@3ce6091f-6c88-37e8-8c75-72f92ae8dfba\u003e","operation":"ADD","reason":"\u003cGERRIT_ACCOUNT_1115898\u003e replied on the change"}
Attention: {"person_ident":"Gerrit User 1115898 \u003c1115898@3ce6091f-6c88-37e8-8c75-72f92ae8dfba\u003e","operation":"REMOVE","reason":"\u003cGERRIT_ACCOUNT_1115898\u003e replied on the change"}
2024-12-12 03:00:56 -08:00
Gerrit User 1571352
4c2d6332a9 Update patch set 3
Patch Set 3:

(2 comments)

Patch-set: 3
Attention: {"person_ident":"Gerrit User 1571352 \u003c1571352@3ce6091f-6c88-37e8-8c75-72f92ae8dfba\u003e","operation":"REMOVE","reason":"\u003cGERRIT_ACCOUNT_1571352\u003e replied on the change"}
Attention: {"person_ident":"Gerrit User 1115898 \u003c1115898@3ce6091f-6c88-37e8-8c75-72f92ae8dfba\u003e","operation":"ADD","reason":"\u003cGERRIT_ACCOUNT_1571352\u003e replied on the change"}
2024-12-12 02:58:31 -08:00
Gerrit User 1571352
0cf79274ea Create patch set 3
Uploaded patch set 3: New patch set was added with same tree, parent tree, and commit message as Patch Set 2.

Copied Votes:
* Code-Review+1 by <GERRIT_ACCOUNT_1115898>, <GERRIT_ACCOUNT_1526622> (copy condition: "**changekind:NO_CHANGE** OR **changekind:NO_CODE_CHANGE** OR **changekind:TRIVIAL_REBASE** OR (**has:unchanged-files** AND **uploaderin:cria/project-libyuv-committers**) OR is:MIN")


Patch-set: 3
Subject: [AArch64] Add SME implementation of CopyRow
Commit: f855222902c6570dfb3dd0ec23c65dc55bc326c8
Tag: autogenerated:gerrit:newPatchSet
Groups: 0ac245902e4cbe892c15f87c0ed905b19ffd097d
Copied-Label: Code-Review=+1, b686d1e23725ba6834964b43195269638d36dc49 Gerrit User 1526622 <1526622@3ce6091f-6c88-37e8-8c75-72f92ae8dfba>
Copied-Label: Code-Review=+1, a621a750b5b69487fc90cafc118fcaefd0e3ea72 Gerrit User 1115898 <1115898@3ce6091f-6c88-37e8-8c75-72f92ae8dfba>
2024-12-12 02:54:37 -08:00
Gerrit User 1115898
ff1264a187 Update patch set 2
Patch Set 2: Code-Review+1

(1 comment)

Patch-set: 2
Reviewer: Gerrit User 1115898 <1115898@3ce6091f-6c88-37e8-8c75-72f92ae8dfba>
Label: Code-Review=+1, a621a750b5b69487fc90cafc118fcaefd0e3ea72
Attention: {"person_ident":"Gerrit User 1571352 \u003c1571352@3ce6091f-6c88-37e8-8c75-72f92ae8dfba\u003e","operation":"ADD","reason":"\u003cGERRIT_ACCOUNT_1115898\u003e replied on the change"}
Attention: {"person_ident":"Gerrit User 1115898 \u003c1115898@3ce6091f-6c88-37e8-8c75-72f92ae8dfba\u003e","operation":"REMOVE","reason":"\u003cGERRIT_ACCOUNT_1115898\u003e replied on the change"}
2024-12-11 23:45:57 -08:00
3 changed files with 305 additions and 0 deletions

View File

@ -0,0 +1,111 @@
{
"comments": [
{
"unresolved": false,
"key": {
"uuid": "19071804_6b60816d",
"filename": "/PATCHSET_LEVEL",
"patchSetId": 4
},
"lineNbr": 0,
"author": {
"id": 1115898
},
"writtenOn": "2024-12-12T11:11:42Z",
"side": 1,
"message": "All caught up on reviews. I\u0027m on holidays for 2 weeks. If theres an important change, as Justin to review and land it",
"revId": "2d8652f3e7ba0427c2e72b086a787b96169e1466",
"serverId": "3ce6091f-6c88-37e8-8c75-72f92ae8dfba"
},
{
"unresolved": true,
"key": {
"uuid": "0bb4bf5c_de5342c0",
"filename": "source/row_sme.cc",
"patchSetId": 4
},
"lineNbr": 474,
"author": {
"id": 1115898
},
"writtenOn": "2024-12-12T11:11:42Z",
"side": 1,
"message": "could regular sve do the same performance for inner loop as neon, but support predicate for remainder to get a small win?",
"fixSuggestions": [
{
"fixId": "2da94437_81e45043",
"description": "prompt_to_edit API",
"replacements": [
{
"path": "source/row_sme.cc",
"range": {
"startLine": 473,
"startChar": 0,
"endLine": 512,
"endChar": 0
},
"replacement": ""
}
]
}
],
"revId": "2d8652f3e7ba0427c2e72b086a787b96169e1466",
"serverId": "3ce6091f-6c88-37e8-8c75-72f92ae8dfba"
},
{
"unresolved": true,
"key": {
"uuid": "d8b5f72d_2bb0a37f",
"filename": "source/row_sme.cc",
"patchSetId": 4
},
"lineNbr": 488,
"author": {
"id": 1115898
},
"writtenOn": "2024-12-12T11:11:42Z",
"side": 1,
"message": "consider 2 vectors",
"fixSuggestions": [
{
"fixId": "99524abd_16ff1ed8",
"description": "prompt_to_edit API",
"replacements": [
{
"path": "source/row_sme.cc",
"range": {
"startLine": 474,
"startChar": 0,
"endLine": 477,
"endChar": 0
},
"replacement": "__arm_locally_streaming void CopyRow_16_SME(const uint16_t* src,\n uint16_t* dst,\n int width) {\n"
},
{
"path": "source/row_sme.cc",
"range": {
"startLine": 479,
"startChar": 0,
"endLine": 479,
"endChar": 0
},
"replacement": " asm volatile(\n \"cnth %x[vl] \\n\"\n \"subs %w[width], %w[width], %w[vl] \\n\"\n \"b.lt 2f \\n\"\n\n // Run bulk of computation with an all-true predicate to avoid predicate\n // generation overhead.\n \"ptrue p0.h \\n\"\n \"1: \\n\"\n \"ld1h {z0.h}, p0/z, [%[src]] \\n\"\n \"incb %[src] \\n\"\n \"subs %w[width], %w[width], %w[vl] \\n\"\n \"st1h {z0.h}, p0, [%[dst]] \\n\"\n \"incb %[dst] \\n\"\n \"b.ge 1b \\n\"\n\n \"2: \\n\"\n \"adds %w[width], %w[width], %w[vl] \\n\"\n \"b.eq 99f \\n\"\n\n // Calculate a predicate for the final iteration to deal with the tail.\n \"whilelt p0.h, wzr, %w[width] \\n\"\n \"ld1h {z0.h}, p0/z, [%[src]] \\n\"\n \"st1h {z0.h}, p0, [%[dst]] \\n\"\n\n \"99: \\n\"\n : [src] \"+r\"(src), // %[src]\n [dst] \"+r\"(dst), // %[dst]\n [width] \"+r\"(width),// %[width]\n [vl] \"\u003d\u0026r\"(vl) // %[vl]\n :\n : \"memory\", \"cc\", \"z0\", \"p0\");\n}\n\n__arm_locally_streaming void CopyRow_8_SME(const uint8_t* src,\n uint8_t* dst,\n int width) {\n // Streaming-SVE only, no use of ZA tile.\n int vl;\n"
},
{
"path": "source/row_sme.cc",
"range": {
"startLine": 505,
"startChar": 0,
"endLine": 509,
"endChar": 0
},
"replacement": " : [src] \"+r\"(src), // %[src]\n [dst] \"+r\"(dst), // %[dst]\n [width] \"+r\"(width),// %[width]\n [vl] \"\u003d\u0026r\"(vl) // %[vl]\n"
}
]
}
],
"revId": "2d8652f3e7ba0427c2e72b086a787b96169e1466",
"serverId": "3ce6091f-6c88-37e8-8c75-72f92ae8dfba"
}
]
}

View File

@ -0,0 +1,39 @@
{
"comments": [
{
"unresolved": false,
"key": {
"uuid": "6f23531a_fee498dc",
"filename": "/PATCHSET_LEVEL",
"patchSetId": 2
},
"lineNbr": 0,
"author": {
"id": 1115898
},
"writtenOn": "2024-12-12T07:45:57Z",
"side": 1,
"message": "ideally run sme benchmarks on apple m4 or equivalent.\nconsider doing LDP with int64 to achieve 128 bit load/store",
"revId": "d5818026ec4bd861a5a8aba6d428c576ba2ba5f5",
"serverId": "3ce6091f-6c88-37e8-8c75-72f92ae8dfba"
},
{
"unresolved": false,
"key": {
"uuid": "aae285fe_0f0426f4",
"filename": "/PATCHSET_LEVEL",
"patchSetId": 2
},
"lineNbr": 0,
"author": {
"id": 1571352
},
"writtenOn": "2024-12-12T10:58:31Z",
"side": 1,
"message": "SVE and the first version of SME do not have an LDP equivalent instruction. SVE 2.1 and SME 2 introduce multi-vector load/store instructions which are equivalent to LDP/STP however these would need additional compiler features to be enabled (-march\u003d...+sme2 rather than -march\u003d...+sme which we currently use).\n\nOf course if you can guarantee that the vector length is 128 bits then you can use the Neon LDP/STP instructions since they share the same vector length, but this is not portable so I would prefer to avoid hard-coding this anywhere.",
"parentUuid": "6f23531a_fee498dc",
"revId": "d5818026ec4bd861a5a8aba6d428c576ba2ba5f5",
"serverId": "3ce6091f-6c88-37e8-8c75-72f92ae8dfba"
}
]
}

View File

@ -0,0 +1,155 @@
{
"comments": [
{
"unresolved": false,
"key": {
"uuid": "d7c4ab9b_462f39a0",
"filename": "/PATCHSET_LEVEL",
"patchSetId": 3
},
"lineNbr": 0,
"author": {
"id": 1571352
},
"writtenOn": "2024-12-12T10:58:31Z",
"side": 1,
"message": "(rebased)",
"revId": "f855222902c6570dfb3dd0ec23c65dc55bc326c8",
"serverId": "3ce6091f-6c88-37e8-8c75-72f92ae8dfba"
}
],
"submitRequirementResults": [
{
"submitRequirement": {
"name": "Code-Review",
"description": {
"value": "If the author is a libyuv committer, code review is required from one other committer. Otherwise, code review is required from two committers."
},
"applicabilityExpression": {},
"submittabilityExpression": {
"expressionString": "((uploaderin:cria/project-libyuv-committers AND label:Code-Review\u003dMAX,user\u003dnon_uploader) OR label:Code-Review\u003dMAX,count\u003e\u003d2) AND -label:Code-Review\u003dMIN"
},
"overrideExpression": {
"value": {
"expressionString": "label:Bot-Commit\u003d+1 AND -label:Code-Review\u003dMIN"
}
},
"allowOverrideInChildProjects": true
},
"applicabilityExpressionResult": {},
"submittabilityExpressionResult": {
"value": {"expression":{"expressionString":"((uploaderin:cria/project-libyuv-committers AND label:Code-Review=MAX,user=non_uploader) OR label:Code-Review=MAX,count>=2) AND -label:Code-Review=MIN"},"status":"PASS","errorMessage":{"value":null},"passingAtoms":["label:Code-Review=MAX,user=non_uploader","uploaderin:cria/project-libyuv-committers","label:Code-Review=MAX,count>=2"],"failingAtoms":["label:Code-Review=MIN"]}
},
"overrideExpressionResult": {
"value": {"expression":{"expressionString":"label:Bot-Commit=+1 AND -label:Code-Review=MIN"},"status":"FAIL","errorMessage":{"value":null},"passingAtoms":[],"failingAtoms":["label:Bot-Commit=+1","label:Code-Review=MIN"]}
},
"patchSetCommitId": "f855222902c6570dfb3dd0ec23c65dc55bc326c8",
"legacy": {
"value": false
},
"forced": {},
"hidden": {}
},
{
"submitRequirement": {
"name": "No-Unresolved-Comments",
"description": {
"value": "Changes that have unresolved comments are not submittable. Unless overridden with Unresolved-Comment-Reason: \u003creason\u003e line in change message."
},
"applicabilityExpression": {
"value": {
"expressionString": "has:unresolved"
}
},
"submittabilityExpression": {
"expressionString": "-has:unresolved"
},
"overrideExpression": {
"value": {
"expressionString": "message:\"^.*Unresolved-Comment-Reason:.*\""
}
},
"allowOverrideInChildProjects": false
},
"applicabilityExpressionResult": {
"value": {"expression":{"expressionString":"has:unresolved"},"status":"FAIL","errorMessage":{"value":null},"passingAtoms":[],"failingAtoms":["has:unresolved"]}
},
"submittabilityExpressionResult": {
"value": {"expression":{"expressionString":"-has:unresolved"},"status":"NOT_EVALUATED","errorMessage":{"value":null},"passingAtoms":[],"failingAtoms":[]}
},
"overrideExpressionResult": {
"value": {"expression":{"expressionString":"message:\"^.*Unresolved-Comment-Reason:.*\""},"status":"NOT_EVALUATED","errorMessage":{"value":null},"passingAtoms":[],"failingAtoms":[]}
},
"patchSetCommitId": "f855222902c6570dfb3dd0ec23c65dc55bc326c8",
"legacy": {
"value": false
},
"forced": {},
"hidden": {}
},
{
"submitRequirement": {
"name": "Review-Enforcement",
"description": {
"value": "Two Google employees must approve the change. Uploading the change or voting positively on Code-Review count as approval. Using a trusted device is required, see go/gerrit-onboarding#review-enforcement."
},
"applicabilityExpression": {
"value": {
"expressionString": "is:review-enforced_gerrit"
}
},
"submittabilityExpression": {
"expressionString": "is:review-enforcement-satisfied_gerrit"
},
"overrideExpression": {},
"allowOverrideInChildProjects": false
},
"applicabilityExpressionResult": {
"value": {"expression":{"expressionString":"is:review-enforced_gerrit"},"status":"PASS","errorMessage":{"value":null},"passingAtoms":["is:review-enforced_gerrit"],"failingAtoms":[]}
},
"submittabilityExpressionResult": {
"value": {"expression":{"expressionString":"is:review-enforced_gerrit"},"status":"PASS","errorMessage":{"value":null},"passingAtoms":[],"failingAtoms":["is:review-enforcement-satisfied_gerrit"]}
},
"overrideExpressionResult": {},
"patchSetCommitId": "f855222902c6570dfb3dd0ec23c65dc55bc326c8",
"legacy": {
"value": false
},
"forced": {},
"hidden": {
"value": true
}
},
{
"submitRequirement": {
"name": "Verified",
"description": {
"value": "Submit requirement for the \u0027Verified\u0027 label"
},
"applicabilityExpression": {
"value": {
"expressionString": "is:false"
}
},
"submittabilityExpression": {
"expressionString": "is:true"
},
"overrideExpression": {},
"allowOverrideInChildProjects": true
},
"applicabilityExpressionResult": {
"value": {"expression":{"expressionString":"is:false"},"status":"FAIL","errorMessage":{"value":null},"passingAtoms":[],"failingAtoms":["is:false"]}
},
"submittabilityExpressionResult": {
"value": {"expression":{"expressionString":"is:true"},"status":"NOT_EVALUATED","errorMessage":{"value":null},"passingAtoms":[],"failingAtoms":[]}
},
"overrideExpressionResult": {},
"patchSetCommitId": "f855222902c6570dfb3dd0ec23c65dc55bc326c8",
"legacy": {
"value": false
},
"forced": {},
"hidden": {}
}
]
}